Java Arraylist对象找不到方法
我正在创建一个对象的arraylist并试图将它们打印出来。然而,当我去打印时,它没有找到方法 研究了arraylist对象并复制了一些其他代码。我似乎找不到代码的问题Java Arraylist对象找不到方法,java,Java,我正在创建一个对象的arraylist并试图将它们打印出来。然而,当我去打印时,它没有找到方法 研究了arraylist对象并复制了一些其他代码。我似乎找不到代码的问题 public class Main{ public static void main(String[] args){ List<PhoneBook> users = new ArrayList<>(); users.add(new PhoneBook("Paul", 4129991))
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;
}
}
公共类主{
公共静态void main(字符串[]args){
列表用户=新建ArrayList();
添加(新电话簿(“Paul”,4129991));
添加(新电话簿(“Kelly”,5702135));
对于(int i=0;i您遇到了问题,因为您的users
数据结构是PhoneBook
对象的ArrayList
,这意味着您应该尝试操作ArrayList
中的元素,而不是操作不存在的PhoneBook
对象
将现有代码更改为:
for(int i = 0; i<users.size(); i++){
System.out.println("PhoneBook " + PhoneBook.getName());
}
for(int i=0;i您遇到了问题,因为您的用户
数据结构是PhoneBook
对象的ArrayList
,这意味着您应该尝试操作ArrayList
中的元素,而不是操作不存在的PhoneBook
对象
将现有代码更改为:
for(int i = 0; i<users.size(); i++){
System.out.println("PhoneBook " + PhoneBook.getName());
}
for(int i=0;i将PhoneBook.getName()
更改为users.get(i).getName()
。没有static
方法getName()PhoneBook
上的
,您也可以这样看待它:您在一个多用户列表上循环,但您没有以任何方式告诉编译器您要从列表中为哪个用户获取名称。这不可能是对的。将PhoneBook.getName()
更改为users.get(i).getName()
。在PhoneBook
上没有static
方法getName()
,你也可以这样看:你在一个多个用户的列表上循环,但你没有以任何方式告诉编译器你想从列表中得到哪个用户的名字。这不可能是对的。“用户(i)给出了一个编译错误”为避免此类问题,请使用for(PhoneBook user:users){…user.getName();…}
。这个列表可能不应该被称为用户
,但是电话簿
或者甚至电话簿
也不应该被称为这样的列表,而是电话簿条目
,因为它不像标准的电话簿那样包含很多人的信息,而是关于一个人的条目给出一个编译错误“为避免此类问题,请对(电话簿用户:用户){…user.getName();…}的每个likefor(电话簿用户){…user.getName();…}
。这个列表可能不应该被称为用户
,但是电话簿
或者甚至电话簿
也不应该被称为那样的列表,而是电话簿条目
,因为它不像标准的电话簿那样包含许多人的信息,而是关于一个人的条目。