Erste text-Wert aus einem jButton

Also muss ich einfach nur prüfen, ob ein button geklickt text ist "X" oder "O" (machen tic tac toe)
Dieser code funktioniert nicht:

if (jButton1.getText()=="X")

Aber der folgende code funktioniert:

String jButText = jButton1.getText();
if (jButText=="X")

Warum nicht das erste bit der code funktioniert, wenn der zweite nicht? Braucht es nicht etwas mehr sein wie wenn (jButton1.getText().toString=="X")? Übrigens, ich glaube nicht, dass toString existiert in Java. Das ist nur etwas den Gegenwert in Visual Basic, das ist das, was ich normalerweise verwenden, zum erstellen von GUIs.

equals("X") und nicht == "X"
Dies ist NICHT ein Duplikat des gleichen String-Vergleich Frage, wird gebeten, sich mehrmals pro Tag. Die Frage ist hier, warum das zweite snippet funktioniert, aber nicht die ersten. Wenn es tatsächlich wahr ist, dass das zweite snippet funktioniert und die erste nicht, dann weiß ich nicht, die Antwort. Ich hätte erwartet, dass Sie generieren den gleichen byte-code.
toString() existieren in java, jedoch getText() schon gibt einen String zurück, also es würde nicht viel Sinn zu laufen toString() auf.
Welche java version verwenden Sie? Dies ist nicht reproduzierbar mit java 1.7.0_45.

InformationsquelleAutor user3010613 | 2013-11-19

Schreibe einen Kommentar