FavPic是一个存储有图片元素的数组,我尝试将变量pRef设置为等于该数组元素。取而代之的是,我不断得到空指针异常崩溃。Null指针异常到底是什么,这几行代码是如何导致这种情况的?谢谢!
public void setFavouritePicture (Picture pRef)
{
pRef = favPic[0];
}发布于 2013-05-04 01:01:11
NullPointerException意味着您试图在引用null (更常见)的对象引用上调用方法,或者像这里一样,试图引用引用null的数组的特定元素。
只需要两行代码就可以生成一个NullPointerException --一行用于声明一个引用变量,使其成为null,另一行用于尝试对其执行某些操作。
在使用数组之前,必须创建数组以对其进行初始化。
发布于 2013-05-04 01:13:03
当某项为空或未定义时,将调用NullPointerException。您正在尝试从未声明的数组中获取值,或者正在尝试从尚未定义的数组中获取值。
例如,如果我有一个包含1、2和3的int[],而我尝试使用System.out.println(int[3]),它将无法工作,因为没有值。
运行以下检查,并让我知道您得到了什么:
System.out.println(favPic == null);
System.out.println(favPic[0] == null);
发布于 2013-05-04 01:27:53
当您试图访问一个值为null的对象时(它可能没有被属性初始化,或者它可能被手动赋值为null)。
在您的示例中,数组favPic可能为null,因此当您尝试使用favPic[0]访问favPic的第一个值时,它将失败并抛出NullPointerException。
https://stackoverflow.com/questions/16364090
复制相似问题