博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 枚举类
阅读量:4597 次
发布时间:2019-06-09

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

参考博客:  

直接上代码:

1 import java.util.HashMap; 2 import java.util.Map; 3 //import java.lang.Enum;  //这TM是默认导入的包 4  5 public enum Color { 6     WHITE(1,"WHITE"), 7     RED(2,"RED"), 8     ORANGE(3,"ORANGE"), 9     YELLOW(4,"YELLOW"),10     GREEN(5,"GREEN"),11     BLUE(6,"BLUE"),12     PURPLE(7,"PURPLE"),13     BLACK(8,"BLACK")14     ;15     16     private Integer id;17     private String name;18     19     private Color(Integer id, String name) {20         this.id = id;21         this.name = name;22     }23     24     public Integer getId() {25         return id;26     }27     28     public String getName() {29         return name;30     }31     //到上面截至是一般枚举类的基本写法32     33     private static Map
map = new HashMap
();34 35 static {36 for(Color enums : Color.values()) {
//后面会讲到这个方法输出的是什么37 map.put(enums.getId(), enums);38 }39 }40 41 public static Color valueOf(int id) {
//看清楚返回值42 return valueOf(id, null);43 }44 45 public static Color valueOf(int id, Color color) {46 Color result = map.get(id);47 return result == null ? color : result;48 }49 50 //比如实际应用中可能有一些特殊的癖好列出所有颜色的名字 51 public static String[] listAllColor() {52 Color[] colors = Color.values();53 String[] result = new String[colors.length];54 for(int i = 0; i < colors.length; i++) {55 result[i] = colors[i].getName();56 }57 return result;58 }59 60 //再比如我想写一个nameOf61 public static String nameOf(int id) {62 Color temp = map.get(id);63 return temp == null ? null : temp.getName();64 }65 }

测试一下:

1     public static void main(String[] args) {2         //Hello World3         System.out.println(4                 Arrays.toString(Color.values()));5         System.out.println(Color.valueOf(3).getName());6         System.out.println(Color.nameOf(3));7         System.out.println(8                 Arrays.toString(Color.listAllColor()));9     }

结果如下:


好了讲一下values这个方法返回的是什么,返回的是那些枚举对象的名字不是name。

或者说返回的是枚举类下的所有枚举。

改成这个样子,运行结果如下:

这下明白返回的是啥了吧。

转载于:https://www.cnblogs.com/zuosy/p/7609383.html

你可能感兴趣的文章
cocos2d下,优秀骨骼spine的换装思路
查看>>
Windows 10 MBR转GPT
查看>>
iuplua test failure
查看>>
6 tr
查看>>
同开三本DJANGO,需要提升一下本职工作的能力啦
查看>>
这样就算会了PHP么?-2
查看>>
线段树 (区间查询最大 区间求和 区间加)带lazy
查看>>
三十而立,从零开始学ios开发(十二):Table Views(上)
查看>>
MySQL中的decimal
查看>>
gitlab+jenkins持续集成(一)
查看>>
4.signed/unsigned char
查看>>
iOS,UIImage有个contentmodel属性
查看>>
Debian 7 amd64 + fbterm + ucimf
查看>>
数据结构之【排序】复习题
查看>>
spring boot 首次请求Controller慢
查看>>
事件绑定
查看>>
grep命令详解
查看>>
iterm2快捷键
查看>>
asp.net 生成PDF方法
查看>>
EntityFramework 7 Join Count LongCount 奇怪问题(已修复)
查看>>