Ich habe eine Methode, die in einer ArrayList sucht, was Objekte mit zwei privaten Feldern enthält. Hier ist die Methode:ArrayList String Eingabe
public int searchContactName(String name){
int foundIndex =-1;
for(int i = 0; i < contacts.size(); i++){
if(contacts.get(i).getName() == name){
foundIndex = i;
}
}
return foundIndex;
}
Es ist gut funktionieren, wenn ich es wie folgt verwenden:
searchContactName("xyName");
Aber wenn ich versuche, es mit einem scenner.next() zu verwenden, wie thins, für den gleichen Namen
String name = scanner.next();
searchContactName(name);
Es gibt mir -1. Ich verstehe nicht, muss ich irgendwie die Eingabe formatieren? Es ist der gleiche Typ oder es ist irgendwie anders, wenn ich den Scanner benutze?
Änderung 'contacts.get (i) .getName() == name' zu 'contacts.get (i) .getName(). equals (name)' – SMA
Haben Sie versucht, 'scanner.nextLine()' zu verwenden? Sie sollten nur die gleiche Eingabe erhalten, da nextLine() explizit einen String zurückgibt. – Siavas
verwenden equals() Methode – Akceptor