Java – 列挙型の値を比較する
Javaでは、 `==`演算子を使ってEnum値を比較することができます。
1. Java Enumの例
Language.java
package com.mkyong.java public enum Language { JAVA, PYTHON, NODE, NET, RUBY }
2. ==と比較する
enum値と `==`演算子を比較する例
Test.java
package com.mkyong.java public class Test { public static void main(String[]args) { //Covert string to enum //Language enumObj = Language.valueOf("java".toUpperCase()); Language enumObj = Language.JAVA; if (enumObj == Language.JAVA) { System.out.println("Welcome Java"); } else if (enumObj == Language.NET) { System.out.println("Welcome .Net"); } else if (enumObj == Language.NODE) { System.out.println("Welcome Node JS"); } else if (enumObj == Language.PYTHON) { System.out.println("Welcome Python"); } else if (enumObj == Language.RUBY) { System.out.println("Welcome Ruby"); } else { System.out.println("Hello World"); } } }
出力
Welcome Java
3.スイッチとの比較
代わりに、enum値と `switch`文を比較することもできます。
Test.java
package com.mkyong.java public class Test { public static void main(String[]args) { Language enumObj = Language.PYTHON; switch (enumObj) { case JAVA: System.out.println("Welcome Java"); break; case NET: System.out.println("Welcome .Net"); break; case NODE: System.out.println("Welcome Node JS"); break; case PYTHON: System.out.println("Welcome Python"); break; case RUBY: System.out.println("Welcome Ruby"); break; default: System.out.println("Hello World"); break; } } }
出力
Welcome Python
参考文献
Doc – 列挙型]。リンク://java/java-convert-string-to-enum-object/[Java – 文字列の変換
to Enumオブジェクト]。
http://stackoverflow.com/questions/1750435/comparing-java-enum-members-or-equals
[Stackoverflow