java枚举enum,根据value值获取key键的操作

2025-05-29 0 67

1.ZjlxEnum.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
public enum ZjlxEnum implements IEnum {

SFZ("1", "居民身份证"),

XGZM("2", "香港特区护照/身份证明"),

AMZM("3", "澳门特区护照/身份证明"),

TWTXZ("4", "台湾居民来往大陆通行证"),

JWJZZ("5", "境外永久居住证"),

HZ("6", "护照"),

QT("7", "其他");

private String value;

private String label;

public String getValue() {

return this.value;

}

public String getLabel() {

return this.label;

}

}

2.调用方式:

?

1

2

3

4
private String getZjlx(String zjlxCn) {

Optional<ZjlxEnum> m1 = EnumUtil.getEnumObject(ZjlxEnum.class, e -> e.getLabel().equals(zjlxCn));

return m1.isPresent() ? m1.get().getValue() : null;

}

3.EnumUtil.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25
public class EnumUtil {

private static Map<Class, Object> map = new ConcurrentHashMap<>();

/**

* 根据条件获取枚举对象

*

* @param className 枚举类

* @param predicate 筛选条件

* @param <T>

* @return

*/

public static <T> Optional<T> getEnumObject(Class<T> className, Predicate<T> predicate) {

if (!className.isEnum()) {

return null;

}

Object obj = map.get(className);

T[] ts = null;

if (obj == null) {

ts = className.getEnumConstants();

map.put(className, ts);

} else {

ts = (T[]) obj;

}

return Arrays.stream(ts).filter(predicate).findAny();

}

}

补充:Java遍历枚举(Enum)的Value和相对应的Index

遍历枚举

?

1

2

3

4

5

6

7

8

9

10
public class ColorIndexTest {

@SuppressWarnings("resource")

public static void main(String[] args) {

// TODO Auto-generated method stub

HSSFColorPredefined[] allColor = HSSFColorPredefined.values();

for(int i = 0;i < allColor.length;i++) {

System.out.println(allColor[i].name() + " == " + allColor[i].ordinal());

}

}

}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持快网idc。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/u013165110/article/details/98206437

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java枚举enum,根据value值获取key键的操作 https://www.kuaiidc.com/108384.html

相关文章

发表评论
暂无评论