【问题标题】:Add Object to array list. Get error when try add obect to ArrayList将对象添加到数组列表。尝试将对象添加到 ArrayList 时出错
【发布时间】:2023-03-05 20:43:02
【问题描述】:

有人可以回答为什么我的数组列表有问题吗?我有一个课程:ListPeopleMain(运行所有内容)。

List 中,我正在创建一个新的ArrayList 来保存People 类型的对象。

Main 中,我正在创建新的List 对象,然后创建新的People 对象,然后从List 对象调用add 方法,此时我得到nullPointerException 异常。

public class Main {
    public static void main(String[] args) {

        List l = new List();       // making new List object 
        People p = new People();   // making new People object

        l.addPeople(p);           // calling from List object "addPeople" method and
    }            

                 // parsing People object "p"
 }




import java.util.ArrayList;

public class List {

        public List(){           //constructor
    }

        ArrayList<People>list;      // new ArrayList to hold objects of type "People"

    public void addPeople(People people){   
        list.add(people);               // I get error here
    }
} 

public class People {

    public People(){         // constructor
    }
}

【问题讨论】:

  • 谢谢大家,我以为是构造函数有问题,只是不明白在哪里。现在它可以工作了,再次感谢大家。

标签: java arraylist


【解决方案1】:

在构造函数中:

list = new ArrayList<People>();

【讨论】:

    【解决方案2】:

    您在任何时候都没有实例化该列表。在你的构造函数中这样做:

       public List(){           //constructor
              list = new ArrayList<People>();
       }
    

    【讨论】:

      【解决方案3】:

      我不确定这是否相关,但将您的类命名为“List”是个坏主意,因为这会隐藏 List 界面。

      【讨论】:

      • 那只是为了测试,在大程序中我不会。
      • @Edgar 你最好不要那样做。您唯一可以“获得”的东西就是让自己(以及您向其展示的人)感到困惑,并且必须重写它以用于“大程序”。
      【解决方案4】:

      您需要将ArrayList 实例放入您的list 字段中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-28
        • 2017-12-12
        • 2023-03-22
        • 2013-09-03
        • 2012-08-02
        • 2014-04-21
        • 1970-01-01
        相关资源
        最近更新 更多