enum -> int: int i = enumType.value.ordinal();
int -> enum: enumType b= enumType.values()[i];
enum -> String: enumType.name()
String -> enum: enumType.valueOf(name);
下面是Enum和字符串类型转化的例子。
第一个例子:字符串和枚举值不相同,注意覆盖toString方法。
import java.util.HashMap;
import java.util.Map;
/** * * @author admin */
public enum Blah {
A("text1"),
B("text2"),
C("text3"),
D("text4");
private String text;
Blah(String text) {
this.text = text;
}
public String getText() {
return this.text;
}
// Implementing a fromString method on an enum type
private static final Map<String, Blah> stringToEnum = new HashMap<String, Blah>();
static {
// Initialize map from constant name to enum constant
for(Blah blah : values()) {
stringToEnum.put(blah.toString(), blah);
}
}
// Returns Blah for string, or null if string is invalid
public static Blah fromString(String symbol) {
return stringToEnum.get(symbol);
}
@Override
public String toString() {
return text;
}
}
第2个例子,字符串和枚举值相同,这个更为简单。
import java.util.HashMap;
import java.util.Map;
/** * * @author admin */
public enum Blah {
A,
B,
C,
D;
// Implementing a fromString method on an enum type
private static final Map<String, Blah> stringToEnum = new HashMap<String, Blah>();
static {
// Initialize map from constant name to enum constant
for(Blah blah : values()) {
stringToEnum.put(blah.toString(), blah);
}
}
// Returns Blah for string, or null if string is invalid
public static Blah fromString(String symbol) {
return stringToEnum.get(symbol);
}
}
至于整形和Enum之间的转换,也可类似处理。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/122205326
内容来源于网络,如有侵权,请联系作者删除!