我正在构建一个小应用程序(为了好玩),以便在Java应用程序中基本跟踪员工和产品。我已经创建了arraylists和类,但是我很难对它们进行排序和搜索..这是我到目前为止所尝试的内容..
我试图根据员工姓名
搜索arraylist的对象System.out.println("Enter name of employee to search: \n");
String name = keyboard.nextLine();
Iterator itr = employeeList.iterator();
while (itr.hasNext()) {
Employee test = (Employee) itr.next();
if (test.getFirstName() == name.toString()) {
System.out.println(test.getEmpInfo());
}
}
我的困境是,如果我用引号中的名称替换name.toString()它可以工作,但是如果我使用keyboard.nextLine()它不会工作,任何帮助将不胜感激!< / p>
答案 0 :(得分:0)
这是java初学者中最常见的问题。 使用equals()
方法代替==
将Strings
与java进行比较。请按以下步骤修改代码。
if (test.getFirstName().equals(name.toString())) {
//your code
}
注意: ==
用于比较二进制相等性,它比较对象的内存位置。但.equals()
可以覆盖,并根据指定的逻辑比较对象的值。