Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList包含空指针_Java_Arraylist - Fatal编程技术网

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提供的答案很可能是正确的。您是否介意发布调用您的方法的代码,以及您传递给它的参数是如何获得的