0

次のようなコードがあります。

ArrayList<SomeType> toGetSizeOf = new ArrayList<SomeType>();
int size = toGetSizeOf.size();

ただし、2 行目で NullPointerException が発生しています。ArrayList が初期化されているが、まだ何も追加されていないかどうかを基本的に伝えるために、これを回避する方法はありますか? (これに依存するif/ステートメントがあります)。else

前もって感謝します!

4

2 に答える 2

2

おそらくあなたのコードに何か問題があると思います。

以下はうまくいきます:

ArrayList<String> toGetSizeOf = new ArrayList<String>();
int size = toGetSizeOf.size();
System.out.println(size);

これは0を与えます。

コードをデバッグし、実際に何が null かを確認してください。それはあなたのtoGetSizeOfだと思います。

于 2013-07-24T03:39:04.800 に答える
0

に問題がある場合は、NullPointerExceptionまずそれを確認する必要があります

あなたが使用することができます...

int size = 0;
if (toGetSizeOf != null) {
    size = toGetSizeOf.size();
}

また...

int size = toGetSizeOf == null ? 0 : toGetSizeOf.size();

必要に応じて、リストが空の場合 ( ) またはそうでない場合は、ArrayList#isEmptyを返す which を使用することもできます。boolean truesize == 0false

于 2013-07-24T03:38:07.417 に答える