12

オブジェクトを扱うときにと を使用するequals(Boolean)と異なる結果が返される状況はありますか?==Boolean

Boolean.TRUE == myBoolean;

Boolean.TRUE.equals(myBoolean);

ここではプリミティブ型については考えていません。ブール型のオブジェクトだけです。

4

4 に答える 4

2

定数の 1 つに由来するのではなく、 として構築されている可能性がある==ため、使用するのは危険です。この場合、常に結果が になります。あなたはちょうど使用することができますmyBooleannew Boolean(boolValue)==false

myBoolean.booleanValue()

どちら==equals関与せず、信頼できる結果をもたらします。値にも対応する必要がある場合は、あなたのアプローチにnull勝るものはありません。equals

于 2013-05-08T09:36:51.667 に答える
0

==
常に使用する必要があるオブジェクトを比較する場合にのみ、プリミティブ型に対してのみ機能しますo.equls(Object ob)

于 2013-05-08T09:39:08.970 に答える