2017-12-27 4 views
0

Ich habe einige Json wie [{"person":"123abc"}] in variable JSON_STRING i Parse json string versuchen, wie dieseWas unterscheidet sich von getString mit String in Java?

JSONObject person = (new JSONObject(JSON_STRING)); 
    String name = person.getString("person"); 
    String test= "123abc"; 
    if(name == test){ 
     System.out.print("Success"); 
    }else{ 
     System.out.print("Fail"); 
    } 

ich einige einfache Logik machen mit, wenn sonst, aber ich habe ein Problem mit variabler name und test nicht gleich, weil Ergebnis Fail. Ich weiß nicht, warum die Inhaltsvariablen name und test nicht gleich sind. Bitte helfen Sie, wenn jemand eine Lösung hat.

Dank

+0

kennen Sie den Unterschied zwischen "==" und .equals() in Java? – Pratyay

+1

Bitte vergleichen Sie Strings mit 'equals' – HatsuPointerKun

Antwort

2

hier:

if(name == test){ 

Sie vergleichen Referenzen nicht Werte. Verwendung:

if(name.equals(test)){ 
+0

tatsächlich, er vergleicht die Zeichenfolge (n). Ich denke, Sie meinen: "Sie vergleichen Referenzen, keine Werte" – Stultuske

+0

Ja, ich habe es geändert – marcinj

+0

danke für die einfache Erklärung und es funktioniert – Nugka

1

if(name == test){ sollte if(name.equals(test)){

== verwendet wird, Referenzen zu vergleichen und equals wird zum Vergleichen von Werten

Verwandte Themen