これを行うにはもっと良い方法が必要だと思います.. ArrayList を返す関数を呼び出しています。その ArrayList が 10 個の null アイテム (デフォルト) のみを返す場合、10 個のアイテムすべてを反復処理して null かどうかを確認せずにこれをチェックする方法はありますか?
20371 次
7 に答える
8
一般的に、いいえ。任意の ArrayList に の 10 個のインスタンスが含まれnull
ていることを確認するには、それをループして各要素が であることを確認する以外に方法はありませんnull
。もちろん、リストの size() が 10 に等しくない場合は、これを忘れることができます。
于 2013-01-04T18:14:40.313 に答える
3
List<Object> arrayList = new ArrayList<Object>();
arrayList.isEmpty();
// first call returns true
arrayList.add(null);
// second call returns false
Object obj = new Object();
arrayList.add(obj);
arrayList.isEmpty();
// third call returns false
それはあなたが望んでいたものですか?
null を複数追加すると、サイズが 1 増加しますが、配列リストをループしない限り、null オブジェクトの数を見つける具体的な「簡単な方法」はありません。
于 2013-01-04T18:14:59.457 に答える
2
ArrayList が空かどうかを確認しようとしていますか? (つまりmyArrayList.isEmpty()
)またはArrayListにnull参照のみが含まれているかどうかを確認しようとしていますか?すべてのエントリが null かどうかを確認しようとしている場合は、各エントリを確認する必要があります...
boolean isListOfNulls(List myList){
for(Object o: myList)
if(!(o == null))
return false;
return true;
}
于 2013-01-04T18:14:29.903 に答える
1
ストリーム API を試してください。
boolean haveOnlyNulls = arraylist.stream().noneMatch(object -> object != null);
于 2016-06-29T10:41:55.563 に答える
0
デフォルトを空のArrayListに変更し、isEmpty()を使用します。現在のデフォルトは無意味です。
于 2013-01-04T21:38:30.093 に答える