Java ArrayList包含空指针
我正在使用一个Java ArrayList包含空指针,java,arraylist,Java,Arraylist,我正在使用一个ArrayList并捕获一个NullPointerException方法,该方法检查ArrayList是否包含一个值。我将int传递给该方法,然后将整数转换为字符串 ArrayList<String> array = new ArrayList<String>(); public boolean doesContain(int i){ return array.contains(Integer.toString(i)); } ArrayList数
ArrayList
并捕获一个NullPointerException
方法,该方法检查ArrayList
是否包含一个值。我将int
传递给该方法,然后将整数
转换为字符串
ArrayList<String> array = new ArrayList<String>();
public boolean doesContain(int i){
return array.contains(Integer.toString(i));
}
ArrayList数组=新的ArrayList();
公共布尔doesContain(int i){
返回array.contains(Integer.toString(i));
}
从程序员的角度来看,整数和int的主要区别在于整数可以为空,而int不能为空
因此,如果您像这样调用方法a(int a)
:
Integer x = null;
a(x);
它将抛出NullPointerException,因为它无法将null值转换为int。试试这个
ArrayList<String> array = new ArrayList<String>();
public boolean doesContain(int i){
try{
return array.contains(Integer.toString(i));
} catch (NullPointerException e){}
}
ArrayList数组=新的ArrayList();
公共布尔doesContain(int i){
试一试{
返回array.contains(Integer.toString(i));
}捕获(NullPointerException e){}
}
如果此代码正确
您正在使用一个为null的整数调用该方法,或者您包含该方法的类为null,并调用yourClass。doesContain(1)引发一个nullPointerException,因为“yourClass”为null。它在哪一行抛出它?它从我调用的类抛出DoesContainYPU发布整个堆栈跟踪?请,提供完整的代码。初始化变量
array
@MaxiiPad时可能会出现错误在这种情况下,popovitsj提供的答案很可能是正确的。您是否介意发布调用您的方法的代码,以及您传递给它的参数是如何获得的