1
boolean listIsEmpty = myList.size()==0; 

1 回限りの割り当てlistIsEmptyのサイズが変更されるとすぐに false に変更されますか? myList後者の場合、「監視」する「動的」ブール値を使用できますかmyList?

4

6 に答える 6

10

簡単な答え: いいえ、いいえ。

式は 1 回評価され、結果booleanは変更されません。

このような「ダイナミック」booleanを実現するには、それを実現するリスナーを使用して独自のリストを作成する必要があります。

于 2013-07-03T13:47:41.773 に答える
2

listIsEmptyこの特定のコード行をもう一度確認しない限り、変更はありません

リストのサイズが大きくなるとすぐにブール値を変更するには、何かを追加または削除するたびにリストのサイズをチェックするメソッドを作成する必要があります。

于 2013-07-03T13:46:51.247 に答える
2
boolean listIsEmpty() {
    return myList.isEmpty();
}

変数の代入はその場所で評価されます。

上記のような関数を使用してif (listIsEmpty()) { ... }、関数 (メソッド) 本体を毎回評価します。

于 2013-07-03T13:48:07.137 に答える
1

現在のコードの記述方法は、サイズが再評価されるまで変更されません。ただし、その代わりに、isEmpty()チェックをリストで直接使用できます。この方法では、リストのサイズを常に監視する必要はありません。

于 2013-07-03T13:49:28.617 に答える
1

自分ListisEmptyで変更するまで、変数は変更されません。を更新するListIsemptyたびに変数を更新する必要がありますMylist

于 2013-07-03T13:49:36.537 に答える