我敢肯定,非常简单的错误,只是出于某种原因有一个心理障碍!
我有一个包含其他对象的 ArrayList 的对象。当我尝试在构造函数中初始化列表时,它似乎没有初始化,当我尝试访问代码中的列表时,我得到一个空指针。
订单类变量:
private int covers;
private int table;
private ArrayList<MenuItem> items;
这是订单类:
public Order(int covers, int table) {
super();
this.covers = covers;
this.table = table;
this.items = new ArrayList<MenuItem>();
}
这是 MainActivity 中导致我出现问题的代码:
order = new Order();
order.setCovers(2);
order.setTable(1);
order.addToOrder(new MenuItem("Item 1", 12.99));
Toast.makeText(getApplicationContext(), "order size: " + order.getItems().size(), Toast.LENGTH_SHORT).show();
我希望 Toast 显示“1”。但是,当我运行调试器时,我注意到订单对象 ArrayList 属性等于 null。
知道为什么吗?提前致谢!
编辑: addToOrder 方法:
public void addToOrder(MenuItem m){
items.add(m);
}