warum liefert equals kein TRUE

cr@sh

Mitglied
hallo, ich habe folgendes problem, für das ich leider keine lösung finde...

Java:
String user = txf1.getText();     // Sting aus user-textfeld ausgelesen
                             int check=0;
		   Statement stmt = Connect.getConnection().createStatement();
		   ResultSet rs = stmt.executeQuery("select * from nutzer;");
		   while ( rs.next() )
		   {
			   if (user.equals(rs.getString(3))) 
					 check = +1;
		   }
			 if (check==1)
				 System.out.println("user is da");
			 else 
				 System.out.println("user is nich da");

rs.getString(3) liefert nacheinander alle in der tabelle "nutzer" eingetragenen usernamen.
ich habe zum test einmal beide zu vergleichenden objekte ausgegeben und sie sind augenscheinlich gleich aber die if bedingung wird nich true....

danke für eure antwort.
 

Atze

Top Contributor
user.equals(rs.getString(3)) sollte 100% true sein, wenn wirklich der gleiche name drin steht, also wenn groß- und kleinschreibung passt. greift nicht im falle "hans".equals("Hans")! dann musst du zu equalsIgnoreCase() greifen, aber du weißt da sicher, was du tust! :)

andererseits, check ist außerhalb der while schleife nie größer als 0, bzw, nur in zeile 8 für einen moment 1. da

check = +1

gleiche ist wie

check = 1

du meintest sicher check +=1, oder? damit inkrementierst du den wert. es ginge auch check++

bist du dir denn sicher, dass das nicht dein problem ist, und nicht der equals aufruf? ich denke check wird einfach nicht erhöht
 

cr@sh

Mitglied
habs grad geändert...

Java:
while ( rs.next() )
		   {
			   System.out.println(rs.getString(3));
			   System.out.println(user);
			   if (user.equals(rs.getString(3)))
					 check++;
		   }

als ausgabe kommt dann:

Java:
aaa123 
aaa123
aaa001 
aaa123
aan913 
aaa123
aad519 
aaa123
user is nich da

und das erste paar ist ja gleich, also versteh ich das euqals nicht...
 

cr@sh

Mitglied
Java:
aaa123 
aaa123
0
aaa001 
aaa123
0
aan913 
aaa123
0
aad519 
aaa123
0
user is nich da

das bekomme ich bei:

Java:
while ( rs.next() )
		   {
			   System.out.println(rs.getString(3));
			   System.out.println(user);
			   if (user.equals(rs.getString(3)))
					 {
				   		check++;
					 }

		   	  System.out.println(check);


.trim() bringt keine veränderung
 
Zuletzt bearbeitet:

Atze

Top Contributor
dann hat landei wohl recht, entweder deine eingabe hat leerzeichen, oder dein db eintrag. benutze mal trim() oder wrappe deine ausgabe mal mit

System.out.println("|"+rs.getString(3)+"|");

bzw

System.out.println("|"+user+"|");

oder nem anderen zeichen, oder lass dir die länge der strings ausgeben. oder gib sie mal mit print() aus, und nicht mit println(). ohne umbruch sieht man vielleicht mehr
 
S

SlaterB

Gast
hashCode vergleichen oder gleich ins endgültige Detail: String-Länge vergleichen und bei beiden die chars durchlaufen und 1:1 gegenüberstellen (auf int casten),
ist ja nun kein großer Aufwand

und natürlich auch nicht rs.getString(3) mehrmals aufrufen, wer garantiert dass es jeweils der gleiche Wert ist? (obwohl es hier so sein sollte)
-> lokale Variable,
sind doch wirklich nur paar einfache Schritte um alle Details zu prüfen
 

cr@sh

Mitglied
jo, wir ham den übertäter...

Java:
|aaa123 ||aaa123|1
|aaa001 ||aaa123|1
|aan913 ||aaa123|1
|aad519 ||aaa123|1
user is da

man sieht das in der DB n leerzeichen am ende is, warum weiß ich allerding nicht. aber mit trim() in der bedingung hats jetzt geklappt.

danke für die hilfe...
 

cr@sh

Mitglied
aber warum das so is versteh ich trotzdem nich...
der befehl zum füllen sieht so aus...

Java:
"insert into nutzer values ('Mustermann','Max','aaa123','leiter','leiter');"

wo kommt da ein leerzeichen her...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
B equals() der Klasse Objects liefert unerwartetes Ergebnis Java Basics - Anfänger-Themen 17
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
J HashSet Methode contains liefert false (hash Methode überschrieben) Java Basics - Anfänger-Themen 3
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
G Methode liefert "Min@15db9742" als Ausgabe Java Basics - Anfänger-Themen 2
Joker4632 Klassen BigDecimal Multiplikation liefert nicht erwarteten Wert Java Basics - Anfänger-Themen 6
J Kosinussatz liefert falschs Ergebnis Java Basics - Anfänger-Themen 2
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
E Methoden Methode liefert keinen Wert zurück Java Basics - Anfänger-Themen 16
Anfänger2011 file.isDirectory() liefert falschen Wert!? Java Basics - Anfänger-Themen 1
B Rechnung ohne Klammer liefert komisches Ergebniss Java Basics - Anfänger-Themen 3
D Operatoren IF Abfrage liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
U ArrayList.get() liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
L replaceAlll liefert Exception... Java Basics - Anfänger-Themen 3
M System.getProperty("java.vm.version") liefert build-Version Java Basics - Anfänger-Themen 4
R Hashset.add(Array) liefert immer true? Java Basics - Anfänger-Themen 23
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Map liefert bei put null als Ergebnis Java Basics - Anfänger-Themen 6
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
M Problem mit getter, liefert nur alte Werte Java Basics - Anfänger-Themen 6
F arraylist.get() liefert Speicheradresse?!? Java Basics - Anfänger-Themen 2
R If-Abfrage liefert false zurück, wieso ? Java Basics - Anfänger-Themen 20
L Woerterbuch liefert immer "null" Java Basics - Anfänger-Themen 41
R warum liefert ein und dieselbe funktion nicht dasselbe return?? Java Basics - Anfänger-Themen 7
M isHidden() von java.io.File liefert immer true in Windows Java Basics - Anfänger-Themen 3
B SQL Recortset liefert nur eine Zeile Java Basics - Anfänger-Themen 4
Raidri Pattern liefert false Java Basics - Anfänger-Themen 9
J Datentypen Textfield.getText() liefert keinen String Java Basics - Anfänger-Themen 4
Y System.console() liefert immer null zurück. Java Basics - Anfänger-Themen 6
X Datentypen Vergleichsmethode liefert immer null Java Basics - Anfänger-Themen 3
J Batch Datei liefert CLASS NOT FOUND Warum !? Java Basics - Anfänger-Themen 11
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
L Enumeration paramNames liefert Werte durcheinander Java Basics - Anfänger-Themen 13
S atan liefert falsches Ergebnis Java Basics - Anfänger-Themen 6
A JavaMail liefert Datenmüll Java Basics - Anfänger-Themen 5
C HashMap liefert HashMap zurück - incompatible types Java Basics - Anfänger-Themen 2
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
H GPS über ser. Schnittst. liefert teilweise Sonderzeichen Java Basics - Anfänger-Themen 3
G Parser liefert StackOverflow error Java Basics - Anfänger-Themen 6
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
H -Djava.library.path liefert in der Konsole "ClassNotFou Java Basics - Anfänger-Themen 4
Z DB-Abfrage liefert alte Werte Java Basics - Anfänger-Themen 11
M Mouse Listener liefert das ergebnis 2 mal! Java Basics - Anfänger-Themen 2
P JPanel.getWidth() liefert immer 0 Java Basics - Anfänger-Themen 6
S DAY_OF_WEEK liefert immer gleichen Wert Java Basics - Anfänger-Themen 6
Say Equals Java Basics - Anfänger-Themen 6
W LocalDate vergleichen mit Equals? Java Basics - Anfänger-Themen 7
W Equals-Methode überschreiben bei composition Java Basics - Anfänger-Themen 20
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J compareTo()- und equals-Methode Java Basics - Anfänger-Themen 3
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
lallmichnichtzu Methoden Überladen des .equals-Operators Java Basics - Anfänger-Themen 6
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
G Java equals() Methode Java Basics - Anfänger-Themen 9
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
O equals Methode möglichst effizient Java Basics - Anfänger-Themen 13
H equals methode Java Basics - Anfänger-Themen 1
L Logistiksystem Methode equals und hashcode Java Basics - Anfänger-Themen 20
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
E equals Prüfung fehlgeschlagen Java Basics - Anfänger-Themen 3
C Objekt equals Java Basics - Anfänger-Themen 2
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
H equals Methode Java Basics - Anfänger-Themen 1
F String equals NULL Problem Java Basics - Anfänger-Themen 4
D Auf equals von Vaterklasse zugreifen Java Basics - Anfänger-Themen 4
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
E Calender - Equals Problem Java Basics - Anfänger-Themen 14
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
K hashCode, compareTo vs. equals Java Basics - Anfänger-Themen 3
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
A Probleme mit equals und get.Text Java Basics - Anfänger-Themen 12
S compareTo() und equals() Java Basics - Anfänger-Themen 6
S equals Methode bei String Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
K Cast bei equals Java Basics - Anfänger-Themen 2
T SQL equals Java Basics - Anfänger-Themen 4
OnDemand Methoden Equals Methde Java Basics - Anfänger-Themen 3
D if block mit equals im rumpf Java Basics - Anfänger-Themen 11
K Vererbung equals-Methode bei Vererbung abstrakter Klassen Java Basics - Anfänger-Themen 8
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
K String - Equals Java Basics - Anfänger-Themen 2
J Klassen Warum ist (a.equals(b)) gleich (a==b)? Java Basics - Anfänger-Themen 13
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23

Ähnliche Java Themen

Neue Themen


Oben