我想我還沒有在Java中得到Enum
的概念。如何比較字符串與Java中的switch語句中的枚舉?
我嘗試比較字符串與我的枚舉條目可比較Special characters in an 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;
}
}
}
但在線路:
case EnumTestOperator.NOT_EQUAL:
我得到一個編譯錯誤:
Type mismatch: cannot convert from EnumTest.EnumTestOperator to String
我在做什麼錯?
你混淆了不同類型的對象;因爲Java是強類型的,這會導致錯誤 –