ホームページ >Java >&#&チュートリアル >Java Enum メンバーを比較するには == または equals() を使用する必要がありますか?

Java Enum メンバーを比較するには == または equals() を使用する必要がありますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-17 21:15:02857ブラウズ

Should You Use == or equals() to Compare Java Enum Members?

Java 列挙型メンバーの比較における == とquals() の選択

Java 列挙型は、プライベート コンストラクターと静的メンバーを持つクラスにコンパイルされます。 enum メンバーを比較するときに、.equals() を使用するか等価演算子 == を使用するかという議論に遭遇したことがあるかもしれません。

オプション 1: .equals()

.equals() メソッドは、Java のすべてのオブジェクトの組み込みメソッドです。オブジェクトの参照の等価性チェックと列挙型の内容の等価性チェックを実行します。列挙型の場合、.equals() メソッドは 2 つのメンバーが同じ定数を参照しているかどうかをチェックします。

オプション 2: ==

等価演算子 == は、参照の等価性チェック。列挙型に関係なく、2 つのメンバーが同じオブジェクト ID を参照するかどうかを決定します。

正しい演算子

技術的には、両方のオプションが有効です。 .equals() メソッドは、列挙型の場合は単に == に従います。ただし、一般に enum 比較には == を使用することをお勧めします。

  • null セーフです。x == null は有効ですが、x.equals(null) は NullPointerException をスローします。
  • これはより効率的です。== は単純な参照チェックですが、.equals() は内容の比較を必要とし、 object.
  • より一貫性があります: 自動的に生成された Java コードは enum の比較に == を使用し、コードベースの一貫性を確保します。

したがって、Java enum を比較するときは == を使用することをお勧めします。メンバー。

以上がJava Enum メンバーを比較するには == または equals() を使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。