Javaの列挙型は、プライベートコンストラクタと多数のパブリック静的メンバーを持つクラスにコンパイルされることは知っています。特定の列挙型の2つのメンバーを比較する場合、私は常に次のようにします.equals()
。
public useEnums(SomeEnum a)
{
if(a.equals(SomeEnum.SOME_ENUM_VALUE))
{
...
}
...
}
==
しかし、 .equals() の代わりにequals 演算子を使用するコードに遭遇しました。
public useEnums2(SomeEnum a)
{
if(a == SomeEnum.SOME_ENUM_VALUE)
{
...
}
...
}
どの演算子を使用すればよいでしょうか?
ベストアンサー1
どちらも技術的には正しいです。 のソース コードを見ると.equals()
、 に従っていることがわかります==
。
==
ただし、null 安全になるので を使用します。