title: Gson, JsonElement, String comparison in Java
body: <p>Ok, I'm wondering this could be quite simple and stupid but after a while fighting with the situation I have no idea what is happening.</p>
  
  <p>I'm using Gson to handle a few JSON elements. Somewhere in my code I get one of the JsonElements of a JsonObject as a String and I compare it against another String. As far as I can see both of them are equals but when comparing I always get false. Here is the snippet.</p>
  
  <pre><code>    JsonArray arr;
      JsonObject jsonobj;
      JsonElement model_elem;
      String STUPID_STRING = "bla bla bla";
  
      // Previously we initializes and fill arr, it doesn't matter how... I hope
      jsonobj = arr.get(0).getAsJsonObject();
      model_elem = jsonobj.get("coolname");
      if (model_elem.toString().equals(STUPID_STRING)) {
          ...
  </code></pre>
  
  <p>It never goes inside the if statement.</p>
  
  <p>arr has element at index 0, jsonobj has a field with name "coolname" and if I println model_elem i get "bla bla bla" (the same as STUPID_STRING). I have tried equals() and also compareTo() == 0.</p>
  
  <p>I cannot figure out what is happening here, does anyone knows? :-s.</p>
  
  <p>Thanks in advance.</p>