boolean listIsEmpty = myList.size()==0;
1 回限りの割り当てlistIsEmpty
のサイズが変更されるとすぐに false に変更されますか? myList
後者の場合、「監視」する「動的」ブール値を使用できますかmyList?
boolean listIsEmpty = myList.size()==0;
1 回限りの割り当てlistIsEmpty
のサイズが変更されるとすぐに false に変更されますか? myList
後者の場合、「監視」する「動的」ブール値を使用できますかmyList?
簡単な答え: いいえ、いいえ。
式は 1 回評価され、結果boolean
は変更されません。
このような「ダイナミック」boolean
を実現するには、それを実現するリスナーを使用して独自のリストを作成する必要があります。
listIsEmpty
この特定のコード行をもう一度確認しない限り、変更はありません
リストのサイズが大きくなるとすぐにブール値を変更するには、何かを追加または削除するたびにリストのサイズをチェックするメソッドを作成する必要があります。
boolean listIsEmpty() {
return myList.isEmpty();
}
変数の代入はその場所で評価されます。
上記のような関数を使用してif (listIsEmpty()) { ... }
、関数 (メソッド) 本体を毎回評価します。
現在のコードの記述方法は、サイズが再評価されるまで変更されません。ただし、その代わりに、isEmpty()
チェックをリストで直接使用できます。この方法では、リストのサイズを常に監視する必要はありません。
自分ListisEmpty
で変更するまで、変数は変更されません。を更新するListIsempty
たびに変数を更新する必要がありますMylist
。