Java 试图创建对象数组列表,但应用程序因空指针异常而崩溃
我有一类产品:Java 试图创建对象数组列表,但应用程序因空指针异常而崩溃,java,android,arraylist,nullpointerexception,Java,Android,Arraylist,Nullpointerexception,我有一类产品: public class Product { private String name; public Product(String name) { this.name = name; } public String getName() { return name; } } 然后在活动中: ArrayList<Product> products; .... protected vo
public class Product {
private String name;
public Product(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
然后在活动中:
ArrayList<Product> products;
....
protected void onCreate(Bundle savedInstanceState) {
.....
for (int i = 1; i < 15; i++){
products.add(new Product(Integer.toString(i)));
}
}
ArrayList产品;
....
创建时受保护的void(Bundle savedInstanceState){
.....
对于(int i=1;i<15;i++){
添加(新产品(Integer.toString(i));
}
}
编译和构建应用程序后崩溃,并给出此类错误代码:
java.lang.RuntimeException:无法启动活动
组件信息{panchenko.ivan.食堂应用程序/panchenko.ivan.食堂应用程序.MainActivity}:
java.lang.NullPointerException:尝试调用虚拟方法
空对象上的“boolean java.util.ArrayList.add(java.lang.Object)”
参考文献
我不知道出了什么问题。一个
空点异常
表示您在代码中引用了一个未赋值的变量,即它是null
。有一个很好的堆栈溢出答案,如果你是新手,我建议你通读一下
在您的情况下,您得到的是NullPointerException
,因为您的ArrayList产品
是null
:
在使用它之前,您需要分配它,因此请执行以下操作:
ArrayList<Product> products = new ArrayList<>();
ArrayList products=new ArrayList();
而不是:
ArrayList<Product> products;
ArrayList产品;
ANullPointerException
表示您在代码中引用了一个未赋值的变量,即null
。有一个很好的堆栈溢出答案,如果你是新手,我建议你通读一下
在您的情况下,您得到的是NullPointerException
,因为您的ArrayList产品
是null
:
在使用它之前,您需要分配它,因此请执行以下操作:
ArrayList<Product> products = new ArrayList<>();
ArrayList products=new ArrayList();
而不是:
ArrayList<Product> products;
ArrayList产品;
ArrayList产品=新的ArrayList()
请参阅此页,它对于启动ArrayList products=new ArrayList()非常有用 请看这个,它对启动有用