私はまだJavaでEnum
の概念を得ていないと思います。Javaのswitch文でstringとenumを比較するにはどうすればよいですか?
文字列をSpecial characters in an enumに匹敵するEnumエントリと比較しようとしました。
package com.stackoverflow.tests;
public class EnumTest {
enum EnumTestOperator {
EQUAL("=="),
NOT_EQUAL("!=");
private String value;
private EnumTestOperator(String value) {
this.value = value;
}
public String toString() {
// will return == or != instead of EQUAL or NOT_EQUAL
return this.value;
}
}
public static void main(String[] args) {
String line;
line = "<>";
line = ".ne.";
line = "!=";
// Operator
switch(line) {
// case "!=":
case EnumTestOperator.NOT_EQUAL:
System.out.println("Not Equal");
break;
default:
System.out.println("Something else");
break;
}
}
}
しかし、LINE IN:
case EnumTestOperator.NOT_EQUAL:
私は、コンパイラエラーを取得:
Type mismatch: cannot convert from EnumTest.EnumTestOperator to String
は私が間違って何をしているのですか?
。 Javaが強く型付けされているので、これはエラーにつながる –