enum<->int
enum -> int: int i = enumType.value.ordinal();
int-> enum: enumType b= enumType.values()[i];
int
enum<->String
enum -> String: enumType.name()
String -> enum: enumType.valueOf(name);
--------------------------------------------------------------------------
http://stackoverflow.com/questions/604424/java-enum-converting-string-to-enum
有时间整理测试一下这个帖子中的内容,同事参考《Effective Java中文版第2版》第30条内容,更新本帖。
---------------------------------------------------------------------------
下面是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;
}
}
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;
}
}
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);
}
}
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之间的转换,也可类似处理。
——————————————————————————————————
傲轩游戏网
傲轩游戏网
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架