java enum 多个字段_Java的枚举valueOf()与多个值?

将string映射到枚举值通常是valueOf静态方法为您所做的。 所以如果你想用同义词来完成这个,你将不得不开发类似的东西。 但是我们不想给出一个我们可以重写静态方法的存在,所以我们只是为了这个目的命名它: fromString应该是合适的。

public enum Language { ENGLISH("eng", "en", "en_GB", "en_US"), GERMAN("de", "ge"), CROATIAN("hr", "cro"), RUSSIAN("ru"), BELGIAN("be",";-)"); static final private Map ALIAS_MAP = new HashMap(); static { for (Language language:Language.values()) { // ignoring the case by normalizing to uppercase ALIAS_MAP.put(language.name().toUpperCase(),language); for (String alias:language.aliases) ALIAS_MAP.put(alias.toUpperCase(),language); } } static public boolean has(String value) { // ignoring the case by normalizing to uppercase return ALIAS_MAP.containsKey(value.toUpperCase()); } static public Language fromString(String value) { if (value == null) throw new NullPointerException("alias null"); Language

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值