java枚举类型enum用法详解

互联网 20-6-17

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

大师兄我又加上自己的理解,来帮助各位理解一下。

用法一:常量

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

Java代码

public enum Color {    RED, GREEN, BLANK, YELLOW  }

用法二:switch

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

Java代码

enum Signal {           GREEN, YELLOW, RED   }   public class TrafficLight {           Signal color = Signal.RED;           public void change() {               switch (color) {                 case RED:                  color = Signal.GREEN;                      break;                     case YELLOW:                                color = Signal.RED;                                    break;                            case GREEN:                                color = Signal.YELLOW;                                    break;                  }            }   }

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

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

Java代码

public enum Color {         RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);         // 成员变量    private String name;         private int index;         // 构造方法        private Color(String name, int index) {           this.name = name;            this.index = index;       }   // 普通方法        public static String getName(int index) {              for (Color c : Color.values()) {                          if (c.getIndex() == index) {                                   return c.name;        }              }      return null;       }   // get set 方法           public String getName() {                return name;       }       public void setName(String name) {                this.name = name;       }            public int getIndex() {                return index;       }            public void setIndex(int index) {           this.index = index;       }  }   }

用法四:覆盖枚举的方法

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

Java代码

public enum Color {       RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);         // 成员变量         private String name;           private int index;           // 构造方法          private Color(String name, int index) {          this.name = name;         this.index = index;       }       //覆盖方法      @Override           public String toString() {           return this.index+"_"+this.name;   }    }

用法五:实现接口

所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。

Java代码

public interface Behaviour {           void print();           String getInfo();  }   public enum Color implements Behaviour{      RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);             // 成员变量        private String name;               private int index;               // 构造方法               private Color(String name, int index) {             this.name = name;         this.index = index;          }   //接口方法                @Override                public String getInfo() {            return this.name;       }       //接口方法               @Override                public void print() {           System.out.println(this.index+":"+this.name);       }     }

推荐教程: 《java教程》

以上就是java枚举类型enum用法详解的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java servlet作用是什么?

相关资讯