枚举类enum的values()方法

 关于枚举,相信使用的已经很普遍了,现在主要写的是枚举中的一个特殊方法,values(), 为什么说特殊呢,因为在Enum 的 API 文档中也找不到这个方法。接下来就看看具体的使用。

     理论上此方法可以将枚举类转变为一个枚举类型的数组,因为枚举中没有下标,我们没有办法通过下标来快速找到需要的枚举类,这时候,转变为数组之后,我们就可以通过数组的下标,来找到我们需要的枚举类。接下来就展示代码了。

    首先是我们自己的枚举类。

[html]  view plain  copy
  1. public enum EnumDemoFirst {  
  2.   
  3.     RED(1,"hongse"),GREEN(2,"lvse"),YELLOW(3,"huangse");  
  4.   
  5.     private int code;  
  6.     private String msg;  
  7.       
  8.   
  9.     private EnumDemoFirst(int ordinal, String name) {  
  10.         this.code = ordinal;  
  11.         this.msg = name;  
  12.     }  
  13.     public int getCode() {  
  14.         return code;  
  15.     }  
  16.     public void setCode(int code) {  
  17.         this.code = code;  
  18.     }  
  19.     public String getMsg() {  
  20.         return msg;  
  21.     }  
  22.     public void setMsg(String msg) {  
  23.         this.msg = msg;  
  24.     }  
  25.       
  26.       
  27. }  
     然后是测试方法,

[html]  view plain  copy
  1. public class EnumTest {  
  2.   
  3.     public static void main(String[] args) {  
  4.         EnumDemoFirst[] values = EnumDemoFirst.values();  
  5.         for (EnumDemoFirst enumDemoFirst : values) {  
  6.             System.out.println(enumDemoFirst + "--" + enumDemoFirst.getCode() + "--" + enumDemoFirst.getMsg());  
  7.             System.out.println("=============");  
  8.         }  
  9.     }  
  10. }  

    此时的输出为,

[html]  view plain  copy
  1. RED--1--hongse  
  2. =============  
  3. GREEN--2--lvse  
  4. =============  
  5. YELLOW--3--huangse  
  6. =============  

   这样的话,通过values() 方法就能很方便的使用枚举了。

猜你喜欢

转载自blog.csdn.net/qq_26676207/article/details/80405497
今日推荐