在Java中搜索对象的ArrayList

时间:2015-10-09 20:59:10

标签: java search arraylist iterator

我正在构建一个小应用程序(为了好玩),以便在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>

1 个答案:

答案 0 :(得分:0)

这是java初学者中最常见的问题。 使用equals()方法代替==Strings与java进行比较。请按以下步骤修改代码。

if (test.getFirstName().equals(name.toString())) {
     //your code
}

注意: ==用于比较二进制相等性,它比较对象的内存位置。但.equals()可以覆盖,并根据指定的逻辑比较对象的值。