Arraylist对象找不到方法



我正在创建一个对象数组列表,并试图将它们打印出来。然而,当我去打印时,却找不到方法。

重新研究了arraylist对象并复制了一些其他代码。我只是似乎找不到代码的问题。

public class Main{
public static void main(String[] args){
List<PhoneBook> users = new ArrayList<>();
users.add(new PhoneBook("Paul", 4129991));
users.add(new PhoneBook("Kelly", 5702135));
for(int i = 0; i<users.size(); i++){
System.out.println("PhoneBook " + PhoneBook.getName());
}
}
}


class PhoneBook{
private String name; 
private int phoneNumber;
public PhoneBook(String name, int phoneNumber){
this.name = name;
this.phoneNumber = phoneNumber;
}

public String getName(){
return name;
}
public int getPhoneNumber(){
return phoneNumber;
}
public void setName(String name){
this.name = name;
}
public void setPhoneNumber(int phoneNumber){
this.phoneNumber = phoneNumber;
}

}

您遇到了一个问题,因为您的users数据结构是PhoneBook对象的ArrayList,这意味着您应该尝试操作ArrayList中的元素,而不是操作不存在的PhoneBook对象。

更改您现有的代码:

for(int i = 0; i<users.size(); i++){
System.out.println("PhoneBook " + PhoneBook.getName());
}

至:

for(int i = 0; i<users.size(); i++){
System.out.println("PhoneBook " + users.get(i).getName());
}

您的代码应该通过索引(i变量(迭代ArrayList的每个元素,并从该ArrayList中的每个项中获取名称。PhoneBook是类的名称,但不引用数据结构的元素。尽管这些元素是PhoneBook的实例,但调用类名并没有引用任何特定的内容,这就是编译器抱怨的原因。

最新更新