2

空かどうかを確認する必要があるオブジェクトのリストがありますが、次のすべてが nullpointer 例外を返します。

List <MyClass> mylist;

mylist.isEmpty
mylist.equal(null)
4

3 に答える 3

2

List <MyClass> mylist自体を初期化していないためです。現在、参照をnull参照しています。null参照時に任意のメソッドを呼び出そうとすると、 NullPointerException. 次のように、null呼び出す前にチェックを使用できます。isEmpty()

if(mylist!=null && !mylist.isEmpty()) {
 // mylist is not empty
}

Apache のCollectionUtils#isNotEmpty()を使用することもできます

指定されたコレクションが空でないかどうかをヌルセーフ チェックします。

Null は false を返します。

于 2013-07-10T05:19:04.543 に答える
1

newあなたのリストが必要です。

 List <MyClass> mylist = new ArrayList<MyClass>();

今チェックしてください:

 boolean b = (mylist!=null) ? false : mylist.isEmpty();
于 2013-07-10T05:32:18.413 に答える
1

myListメソッドを呼び出す前に を初期化していません。

最初に初期化する必要があります。例えば

List <MyClass> mylist = new ArrayList<MyClass>();
myList.add(first);
myList.add(second);

今、あなたは呼び出すことができます

mylist.isEmpty
mylist.equal(null)
于 2013-07-10T05:19:03.037 に答える