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