我有一个方法,该方法在ArrayList中搜索包含具有两个私有字段的对象的内容。下面是方法:ArrayList字符串输入
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;
}
它的工作做好,如果我用这样的:
searchContactName("xyName");
但是,如果我试图用scenner.next()之类变薄使用它,对同一名称
String name = scanner.next();
searchContactName(name);
它给我-1。我不明白,我需要以某种方式输入格式?它是相同的类型,或者如果我使用扫描仪,它有些不同?
变化'contacts.get(ⅰ).getName()== name'到'contacts.get(i).getName()。equals(name)' – SMA
你试过用'scanner.nextLine()'吗?只有nextLine()显式返回一个字符串才能得到相同的输入。 – Siavas
使用equals()方法 – Akceptor