zoukankan      html  css  js  c++  java
  • Java enum(枚举)使用详解之三

        DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。

    用法一:常量

        在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

    Java代码
    1. public enum Color {  
    2.   RED, GREEN, BLANK, YELLOW  
    3. }  

    用法二:switch

        JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。

    Java代码
    1. enum Signal {  
    2.     GREEN, YELLOW, RED  
    3. }  
    4. public class TrafficLight {  
    5.     Signal color = Signal.RED;  
    6.     public void change() {  
    7.         switch (color) {  
    8.         case RED:  
    9.             color = Signal.GREEN;  
    10.             break;  
    11.         case YELLOW:  
    12.             color = Signal.RED;  
    13.             break;  
    14.         case GREEN:  
    15.             color = Signal.YELLOW;  
    16.             break;  
    17.         }  
    18.     }  
    19. }  

    用法三:向枚举中添加新方法

        如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。而且 Java 要求必须先定义 enum 实例。

    Java代码
    1. public enum Color {  
    2.     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    3.     // 成员变量  
    4.     private String name;  
    5.     private int index;  
    6.     // 构造方法  
    7.     private Color(String name, int index) {  
    8.         this.name = name;  
    9.         this.index = index;  
    10.     }  
    11.     // 普通方法  
    12.     public static String getName(int index) {  
    13.         for (Color c : Color.values()) {  
    14.             if (c.getIndex() == index) {  
    15.                 return c.name;  
    16.             }  
    17.         }  
    18.         return null;  
    19.     }  
    20.     // get set 方法  
    21.     public String getName() {  
    22.         return name;  
    23.     }  
    24.     public void setName(String name) {  
    25.         this.name = name;  
    26.     }  
    27.     public int getIndex() {  
    28.         return index;  
    29.     }  
    30.     public void setIndex(int index) {  
    31.         this.index = index;  
    32.     }  
    33. }  

    用法四:覆盖枚举的方法

        下面给出一个toString()方法覆盖的例子。

    Java代码
    1. public enum Color {  
    2.     RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);  
    3.     // 成员变量  
    4.     private String name;  
    5.     private int index;  
    6.     // 构造方法  
    7.     private Color(String name, int index) {  
    8.         this.name = name;  
    9.         this.index = index;  
    10.     }  
    11.     //覆盖方法  
    12.     @Override  
    13.     public String toString() {  
    14.         return this.index+"_"+this.name;  
    15.     }  
    16. }  

     

  • 相关阅读:
    Android开源项目发现---TextView,Button篇(持续更新)
    Android 性能分析案例
    Android如何正确的保存文件
    注意android裁图的Intent action
    UI设计师的 Android 备忘录
    添加Fragment注意事项
    在 ActionBar 添加刷新按钮
    显示 SQLite 日志
    MySQL数据库的自动备份与数据库被破坏后的恢复(2)
    MySQL数据库的自动备份与数据库被破坏后的恢复1
  • 原文地址:https://www.cnblogs.com/cainiao-Shun666/p/6868586.html
Copyright © 2011-2022 走看看