博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
enum与int、String之间的转换
阅读量:7027 次
发布时间:2019-06-28

本文共 1948 字,大约阅读时间需要 6 分钟。

转自: http://www.cnblogs.com/cuizhf/archive/2011/08/22/2150046.html
enum<->int
enum -> int: int i = enumType.value.ordinal();
int -> enum: enumType b= enumType.values()[i];

 

enum<->String

enum -> String: enumType.name()

String -> enum: enumType.valueOf(name); 

 --------------------------------------------------------------------------

有时间整理测试一下这个帖子中的内容,同事参考《Effective Java中文版第2版》第30条内容,更新本帖。

---------------------------------------------------------------------------

下面是Enum和字符串类型转化的例子。

第一个例子:字符串和枚举值不相同,注意覆盖toString方法。
import java.util.HashMap;import java.util.Map;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;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之间的转换,也可类似处理。

你可能感兴趣的文章
搜狗信息流推荐算法实践
查看>>
Visual Studio 2017 15.6发布
查看>>
2019年Java和JVM生态系统预测:OpenJDK将成为Java运行时市场领导者
查看>>
拥抱PostgreSQL,红帽再表态:SSPL的MongoDB坚决不用
查看>>
架构设计复杂度的6个来源
查看>>
360首席安全官谭晓生宣布离职
查看>>
在敏捷中应用测试驱动开发
查看>>
到底谁应该对软件开发的质量负责?
查看>>
微软Windows Core OS被曝应用了开源组件
查看>>
用Elm语言降低失败的风险
查看>>
资深专家都知道的Docker常用命令
查看>>
谈谈UCloud的秒级在线快照服务
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
EGO走进美团——追寻千亿市场背后的技术力量
查看>>
腾讯正式宣布成立技术委员会,要对组织架构下狠手
查看>>
3·15曝光丨智能机器人一年拨打40亿个骚扰电话,6亿人信息已遭泄露!
查看>>
腾讯携手中科院国家天文台落地FAST 用云计算探索星辰大海
查看>>
随机森林算法4种实现方法对比测试:DolphinDB速度最快,XGBoost表现最差
查看>>
详解前端异步编程的六种方案
查看>>
红帽论坛北京站召开 设立亚太开放创新实验室
查看>>