("action" == "action") --> false**** json.getString Problem

PHs

Mitglied
Hallo,

ich hab da ein kleines Problem, dass ich einfach nicht gelöst bekomme.

Die Situation sieht so aus:
Ich schreibe ein Android App (es geht hier um Java und nicht Android) mit Java und möchte aus einem JSON ein String extrahieren.

Dies funktioniert soweit auch ganz gut, allerdings wen ich den String vergleiche mit einem anderen identischen String ergibt es einen false.

Auch mit hilfe des Debugger konnte ich keinen unterschied zwischen den Strings erkennen...

Code:
String message = "{\"event\" : \"action\"}";
json = new JSONObject(message); //importiert von org.json, standartweise dabei bei Android

String lol = json.getString("event");
if(lol == "action"){ // <-- Immer false
//soweit kommt er gar nicht
}

Hab ich was übersehen oder ist dies einfach ein Bug?
Hoffe auf hilfe, Danke :D

Gruß,
PH
 
Zuletzt bearbeitet:
Hi

das ist ein Bug, aber in deinem Code :D

Vergleich doch einmal mit .equals

Gruß

edit: Ui, 5 Minuten gebraucht? :suspekt:
 
  • Gefällt mir
Reaktionen: PHs
:O
Danke, damit habe ich nun echt nicht gerechnet, dass er die Refernz vergleicht und nicht den Inhalt.
Anderseits ist es natürlich nur logisch..

Geil, wieder mal was gelernt. Vielen Dank :D
 
Wenn du einen String-Vergleich machen würdest wie in dem Topic würde TRUE kommen weil Java einen sog. String-Pool hat. Da du haber eine Variable mit einem String vergleichst und in der Variable alles mögliche drin kommt FALSE.
 
Zurück