質問

次のコード行をデバッグしています


    if (var.getvar2() != var3) {
           var4.add(var);
    } else {
           isNeeded= true;
           if (incomingPublishedDate.compare(modifiedDate) < 0) {
               importNeeded = true;
           } else {
               var4.add(var);
           }
   }

ここ var.getvar2() そして var3 タイプのものです Long。デバッグ中に次のような状況になったとき

10000 != 10000

if と評価する必要があります false. 。でも最初から if, 、次のステップ オーバーは次のとおりです。

var4.add(var);

そして次のステップオーバーは var4.add(var);

これは NetBeans のバグですか?それとも一緒ですか? Long 比較。

使っています Netbeans IDE 6.5

役に立ちましたか?

解決

オブジェクトを値で比較することはできません。この比較は、比較される 2 つの参照が同じオブジェクトを参照している場合にのみ真になります。代わりに以下を使用します。

if (! var.getvar2().equals(var3)) {
   ...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top