我有一个对象数组,我想使用一个名为“ AddProd()”的方法在该数组中添加对象。但是为了在该数组的正确情况下添加,我必须知道第一个空情况在哪里数组是。 这是Add方法:
public void AddProd(Produit p){
int notempty = 0;
int i = 0;
while(produits[i] != null){
notempty++;
i++;
}
if (notempty < 49) {
produits[notempty + 1] = p;
}
}
首先让我解释一下,我有一个while循环,检查第一个空情况在哪里。 while循环会不断递增(i ++),直到找到空的情况为止。 问题是当我运行时出现两个错误:
Exception in thread "main" java.lang.NullPointerException
at prosit.pkg2.v1.pkg0.Magasin.AddProd(Magasin.java:27)
at prosit.pkg2.v1.pkg0.main.main(main.java:22)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
这是(Magasin.java:27):while(produits[i] == null){
我认为对null的比较是不正确的,第二个错误是当我在主类中调用该方法时。
任何解决方案都请,谢谢。
答案 0 :(得分:0)
问题是您尚未初始化数组produits
,它本身是null
。