Java 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))

我正在创建一个对象的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;
 }



}
公共类主{
公共静态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();…}的每个like
for(电话簿用户){…user.getName();…}
。这个列表可能不应该被称为
用户
,但是
电话簿
或者甚至
电话簿
也不应该被称为那样的列表,而是
电话簿条目
,因为它不像标准的电话簿那样包含许多人的信息,而是关于一个人的条目。