0

FavPic は、画像要素が格納された配列です。変数 pRef をその配列要素と等しく設定しようとしています。代わりに、Null Pointer Exception クラッシュが発生し続けます。Null ポインター例外とは正確には何ですか?また、これらの数行のコードがどのようにしてそのようなことを引き起こすのでしょうか? ありがとう!

   public void setFavouritePicture (Picture pRef)
  {
    pRef = favPic[0];
   }
4

4 に答える 4

0

ANullPointerExceptionは、何かが null または未定義の場合に呼び出されます。宣言されていない配列から値を取得しようとしているか、定義されていない配列から値を取得しようとしています。

たとえばint[]、1、2、および 3 を含む があり、 を言おうとするとSystem.out.println(int[3])、値がないため機能しません。

次のチェックを実行して、結果をお知らせください。

System.out.println(favPic == null);

System.out.println(favPic[0] == null);

于 2013-05-03T17:13:02.873 に答える
0

あなたのmain中に、このようなものが必要です

Picture[] favPic = new Picture [1];// 1 is the number of pics
favPic = setFavouritePicture(favPic);

setFavouritePictureメソッドは次のようになります

public static Picture[] setFavouritePicture (Picture[] pRef){
    for (int i = 0; i < pRef.length; i++) {
        pRef[i] = new Picture();
    }
    pRef[0] = ... ; // "..." is your picture
    return pRef;
}
于 2013-06-23T08:26:26.473 に答える
0

ANullPointerExceptionは、(より一般的な) を参照しているオブジェクト参照でメソッドを呼び出そうとしたことnull、またはここのように、 を参照している配列の特定の要素を参照しようとしたことを意味しnullます。

2 行のコードだけで a NullPointerException-- 参照変数を宣言し、それnullを使って何かをしようとします。

アレイを使用する前に、アレイを作成して初期化する必要があります。

于 2013-05-03T17:01:10.670 に答える