我有一個使用一個枚舉的方法:
mymethod(AnotherClass.MyEnum.PassedEnum);
我想窩這個接收一個String類中的哪成爲MyEnum:
public static void method(String toPass){
mymethod(AnotherClass.toPass.PassedEnum);
}
傳遞的變量必須是一個字符串,但我需要將它轉換爲Enum傳遞給AnotherClass?
TIA
我有一個使用一個枚舉的方法:
mymethod(AnotherClass.MyEnum.PassedEnum);
我想窩這個接收一個String類中的哪成爲MyEnum:
public static void method(String toPass){
mymethod(AnotherClass.toPass.PassedEnum);
}
傳遞的變量必須是一個字符串,但我需要將它轉換爲Enum傳遞給AnotherClass?
TIA
使用AnotherClass.MyEnum.valueOf(toPass)
你的意思是像...
MyEnum e = MyEnum.valueOf(text);
或
MyEnum e = Enum.valueOf(MyEnum.class, text);
我覺得靜態工廠方法Enum.valueOf()
你想要做什麼。
嘗試在method
身體這樣做:
AnotherClass.toPass.PassedEnum.valueOf(toPass);
您可以使用Enum.valueOf(Class<...>, String)
將字符串轉換爲相應的枚舉實例:
MyEnum value = Enum.valueOf(MyEnum.class, "ENUM_VALUE");
如果字符串包含沒有值作爲枚舉常量存在,此方法將引發IllegalArgumentException
。
public static void method(String toPass){
mymethod(AnotherClass.MyEnum.valueOf(toPass));
}
您可以使用靜態方法Enum.valueOf
將字符串轉換爲枚舉值:
public static void method(String toPass)
{
AnotherClass.MyEnum eval = Enum.valueOf(AnotherClass.MyEnum.class,toPass);
mymethod(eval);
}
感謝所有需要什麼。 –