本问题已经有最佳答案,请猛点这里访问。
我上课的产品:
public class Product {
private String name;
public Product(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
然后在MainActivity中:
ArrayList products;
....
protected void onCreate(Bundle savedInstanceState) {
.....
for (int i = 1; i < 15; i++){
products.add(new Product(Integer.toString(i)));
}
}
编译并构建App崩溃并给出以下错误代码后:
java.lang.RuntimeException: Unable to start activity
ComponentInfo{panchenko.ivan.canteen_application/panchenko.ivan.canteen_application.MainActivity}:
java.lang.NullPointerException: Attempt to invoke virtual method
'boolean java.util.ArrayList.add(java.lang.Object)' on a null object
reference
我不知道出什么问题了。
NullPointerException表示您正在引用代码中尚未分配的变量-即它是null。 这里有一个很好的Stack Overflow答案,如果您不熟悉它,我建议您通读。
在您的情况下,由于ArrayListproducts是null,所以得到了NullPointerException:
您需要先分配它,然后才能使用它,请执行以下操作:
ArrayList products = new ArrayList<>();
代替:
ArrayList products;
ArrayList产品= new ArrayList();
请查看它对启动https://examples.javacodegeeks.com/core-java/util/arraylist/arraylist-in-java-example-how-to-use-arraylist/的帮助。
本文介绍了一个关于Java编程中ArrayList在Android应用创建时引发NullPointerException的问题。通过实例代码和StackOverflow链接,指导读者如何正确初始化ArrayList以避免编译错误。
17万+

被折叠的 条评论
为什么被折叠?



