ArrayList包含NullPointer

时间:2015-04-15 11:25:30

标签: java arraylist

我使用ArrayList<String>并在检查NullPointerException是否包含值的方法上捕获ArrayList<String>。我已将int传递给该方法,然后将Integer转换为String

ArrayList<String> array = new ArrayList<String>();

public boolean doesContain(int i){
    return array.contains(Integer.toString(i));
}

3 个答案:

答案 0 :(得分:1)

程序员在Integer和int之间的主要区别在于,Integer可以为null,而int则不能。

因此,如果你像这样调用方法a(int a)

Integer x = null;
a(x);

它将抛出NullPointerException,因为它无法将null值转换为int。

答案 1 :(得分:0)

如果此代码正确,

要么使用Integer调用该方法为null,要么包含此方法的类为null,并调用yourClass.doesContain(1)引发nullPointerException,因为&#34; yourClass&#34;是空的。

答案 2 :(得分:-1)

尝试这个

ArrayList<String> array = new ArrayList<String>();

public boolean doesContain(int i){
try{
 return array.contains(Integer.toString(i));
         } catch (NullPointerException e){}

}