SEO-Software von Suchmaschinenoptimierung.de

textfelder

(hier klicken, um zum Original Thread zu gelangen)
TimTaylorX
Hi leute großes Grinsen

ich muss mich momentan gezwungenermaßen mit java beschäftigen...
nun machen wir ein projekt für die schule. eine art zahlen schloss. ich
habe da leider nur ein kleines problem. traurig

code:
1:
2:
3:
4:
5:
6:
7:
8:
// Festlegen der Schlüsselzahlen als String
String key1_save = "1";
String key2_save = "2";
String key3_save = "3";

String key1_read=key1_value.getText(); // Das erste Eingabefeld (Schlüssel1) wird ausgelesen

if (key1_read == key1_save) {login_status.setText("Zahlenschloss 1 offen!"); }

wenn ich den ausgelesen string key1_save mit key1_read vergleiche müsste das doch so klappen oder? Augen rollen
was mach ich da denn falsch o.O?
Donut
vorsicht beim vergleichen von Strings!

Da beim code '==' immer nur speicheradressen verglichen werden, funktioniert das nur uneingeschränkt bei numerischen werten und booleans.

Dein Code funktioniert nur, wenn key1_save irgendeinmal mit der Speicheradresse von key1_read verbunden wurde, wenn also irgendwo stand:
code:
1:
key1_save = key1_read; 


Da dies nicht der Fall ist liefert die Abfrage grundsätzlich false.

Wenn du die Inhalte von Strings miteinander vergleichen willst, nutze die Methode equals() der Klasse String:
code:
1:
if (key1_read.equals(key1_save)) {login_status.setText("Zahlenschloss 1 offen!"); }
(hier klicken, um zum Original Thread zu gelangen)



Tipp: Ranking-Konzept.de - Das SEO-Forum (Forum rund um die Suchmaschinenoptimierung) der artaxo AG.
Das große Versicherungs ABC von Versicherung.de - mit allen Aspekten der Computerversicherungen!
Fan-Foren.de, die große Community mit Musikforum ist ab sofort online.