Java 可以将字符串转换为枚举值吗?
我有这样的代码:Java 可以将字符串转换为枚举值吗?,java,enums,bufferedreader,Java,Enums,Bufferedreader,我有这样的代码: BufferedReader in = new BufferedReader(new FileReader("C:\file.txt")); String text = in.readLine();//lets say text is now "asd" 现在我有了一个方法: private static void doSomething(Enum word){ ... } 是否可以以某种方式将此文本转换为枚举?您要使用: 您要使用: 你可以用任何一种 MyEnu
BufferedReader in = new BufferedReader(new FileReader("C:\file.txt"));
String text = in.readLine();//lets say text is now "asd"
现在我有了一个方法:
private static void doSomething(Enum word){
...
}
是否可以以某种方式将此文本转换为枚举?您要使用:
您要使用:
你可以用任何一种
MyEnum me = Enum.valueOf(MyEnum.class, word);
或
你可以用任何一种
MyEnum me = Enum.valueOf(MyEnum.class, word);
或
是的,但是我必须在类private static enum的begining中创建WhateverEnum并在那里添加asd,所以我首先需要知道asd在文件中,如果我没有呢?我说的对吗?@user1451415-您需要知道要将值解析成的枚举的类型。在不知道要解析的枚举类型的情况下,无法将字符串随机解析为正确的枚举值。好的,因此我只需要在Begging使用文本文件中的单词创建新的枚举,稍后将很容易,thx for help:)如果要枚举文本文件中的单词,为什么不将其保留为字符串,而不是将其转换为
enum
?是的,但是我必须在类private static enum的begining时生成WhateverEnum并将其添加到asd中,因此我首先需要知道asd在文件中,如果我没有呢?我说的对吗?@user1451415-您需要知道要将值解析成的枚举的类型。在不知道要解析的枚举类型的情况下,无法将字符串随机解析为正确的枚举值。好的,因此我只需要在Begging使用文本文件中的单词创建新的枚举,稍后将很容易,thx for help:)如果要枚举文本文件中的单词,为什么不将其保留为字符串而不是将其转换为enum
?这是一个奇怪的方法doSomething
,它要求其argzment为anyenum
,而不是一个特定的enum
类型。这是一个奇怪的方法doSomething
,它要求其argzment为anyenum
,而不是一个特定的enum
类型。是的,但是我必须在类private static enum的begining中创建WhateverEnum并在那里添加asd,所以我首先需要知道asd在文件中,如果我没有呢?我说的对吗?您需要知道要将字符串转换为哪个枚举。如果你想要一个通用的“enum”,你可以把它作为一个字符串保留。是的,但是我必须在类private static enum的begining中创建WhateverEnum,并在那里添加asd,所以我首先需要知道asd在文件中,如果我没有呢?我说的对吗?您需要知道要将字符串转换为哪个枚举。如果您想要一个通用的“枚举”,可以将其保留为字符串。
MyEnum me = MyEnum.valueof(word)