Arraylist在for循环中,然后在if语句中找不到符号

时间:2018-12-09 18:50:14

标签: java arraylist

我正在做作业,并且此代码引发错误,找不到符号

arraylist在方法外部声明,并且在if语句之前的for循环中工作。

我正在尝试在数组列表中搜索员工的姓氏,然后将索引返回给main方法以进行进一步处理。

public int searchEmployee(String lastN)
 {
 int noName = 0;
 int lastNIndex = 0;

 for (int i = 0; i < employeeList.size(); i++)
 {

  if (employeeList(i).getLastName().equalsIgnoreCase(lastN))
  {
    lastNIndex = i;
  }  
  else
  {
    i = noName;
  }
}

lastNIndex = noName;  
return lastNIndex;

exit status 1
 Directory.java:74: error: cannot find symbol
  if (employeeList(i).getLastName().equalsIgnoreCase(lastN))
      ^
symbol:   method employeeList(int)
location: class Directory
1 error

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

尝试employeeList.get(i),而不是employeeList(i)

答案 2 :(得分:0)

您应该使用方法 get 检索列表中指定位置的元素。有关更多信息,请参见https://docs.oracle.com/javase/8/docs/api/java/util/List.html#get-int-

代码的固定版本:

public int searchEmployee(String lastN) {
    int noName = 0;
    int lastNIndex = 0;

    for (int i = 0; i < employeeList.size(); i++) {

        if (employeeList.get(i).getLastName().equalsIgnoreCase(lastN)) {
            lastNIndex = i;
        } else {
            i = noName;
        }
    }
}