2 つの Long 変数を比較しようとすると、非常に奇妙な問題が発生しました。それらは常に false と表示され、Eclipse でデバッグすることにより、それらが同じ数値であることを確認できます。
if (user.getId() == admin.getId()) {
return true; // Always enter here
} else {
return false;
}
上記の 2 つの戻り値はどちらもオブジェクト型の Long であり、混乱しました。そして、次のような main メソッドを書いたことを確認するには:
Long id1 = 123L;
Long id2 = 123L;
System.out.println(id1 == id2);
それは真実を印刷します。
それで、誰かが私にアイデアを与えることができますか?私は Java 開発で 3 年間働いていますが、このケースを説明することはできません。