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为any
enum
,而不是一个特定的
enum
类型。这是一个奇怪的方法
doSomething
,它要求其argzment为any
enum
,而不是一个特定的
enum
类型。是的,但是我必须在类private static enum的begining中创建WhateverEnum并在那里添加asd,所以我首先需要知道asd在文件中,如果我没有呢?我说的对吗?您需要知道要将字符串转换为哪个枚举。如果你想要一个通用的“enum”,你可以把它作为一个字符串保留。是的,但是我必须在类private static enum的begining中创建WhateverEnum,并在那里添加asd,所以我首先需要知道asd在文件中,如果我没有呢?我说的对吗?您需要知道要将字符串转换为哪个枚举。如果您想要一个通用的“枚举”,可以将其保留为字符串。
 MyEnum me = MyEnum.valueof(word)