枚举类如何根据name获取value呢?

打印 上一主题 下一主题

主题 851|帖子 851|积分 2553

转自:
http://www.java265.com/JavaCourse/202206/3839.html
枚举型(enumeratedtype),是四种基本数据类型之一。常量、字符型、布尔型可以用来表达数,字符,真假的描述。但我们还是觉得有点缺欠:它们不能方便地进行一些标识符的描述,如:红,橙,黄,绿,青,蓝,紫七种颜色,要在数据类型中要把它们直接表达出来,我们觉得有障碍。而在计算机内有没有这种数据类型,能够很方便地将它们表示出来?有,枚举型能办到。用四种基本数据类型不便表示的标识符,而且这些标识符的数量是有限的,我们可以用枚举的方法来表达它,把要用的所有标识符全部枚举出来。这种方法比较接近自然语言的表达
 
下文笔者讲述枚举类使用name获取value的方法分享,如下所示
  1. 枚举类是一个特殊的类
  2. 枚举类中可实例化类,
  3.   并且实例化命令则为枚举类的name
  4.   可以使用类中的方法获取相关的信息
复制代码
枚举类定义如下:
  1. public enum UserEnum {
  2.     //币种
  3.     UserEnum_ONE("one","第一个","我是value-1"),
  4.     UserEnum_TWO("two","第二个","我是value-2");
  5.     private String key;
  6.     private String name;
  7.     private String value;
  8.     UserEnum(String key, String name, String value){
  9.         this.key = key;
  10.         this.name = name;
  11.         this.value = value;
  12.     }
  13.     public static String getValue(String name) {
  14.         UserEnum[] UserEnums = values();
  15.         for (UserEnum UserEnum : UserEnums) {
  16.             if ((UserEnum.name).equals(name)) {
  17.                 return UserEnum.value();
  18.             }
  19.         }
  20.         return null;
  21.     }
  22.     private String value() {
  23.         return this.value;
  24.     }
  25.     public String getKey(){
  26.         return key;
  27.     }
  28.     public String getName(){
  29.         return name;
  30.     }
  31.     public String getValue(){
  32.         return value;
  33.     }
  34. }
  35. 使用示例分享
  36.     UserEnum.getValue("元");
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表