title: Compare JSONObject and Object with same .toString content
body: <p>In my Android app, I have a JSONObject (let's name it <strong>jo</strong>) and I have a simple Java Object (let's name it <strong>oo</strong>). They both contain exactly the same string if I call <strong>.toString</strong> method on them.
  But when I compare that strings with <strong>.equals()</strong> method I never get <strong>true</strong>. Also when I print the <strong>hashCode</strong> -s of that strings, they are always different. I don't understand why..</p>
  
  <p><code>System.out.println(jo.toString())</code> and <code>System.out.println(oo.toString())</code> print <strong>exactly</strong> the same values. But:</p>
  
  <p><code>jo.toString().equals(oo.toString())</code> <strong>never</strong> returns <strong>true</strong>.</p>
  
  <p><code>jo.toString().trim().equals(oo.toString().trim())</code> also <strong>never</strong> returns <strong>true</strong>.</p>
  
  <p><code>System.out.println(jo.toString().hashCode())</code> and <code>System.out.println(oo.toString().hashCode())</code> <strong>always</strong> print <strong>different</strong> hashCodes.</p>
  
  <p>I just don't understand why ?</p>