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

方法/步骤

  1.   用法一:常量

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

      Java代码

      public enum Color {

      RED, GREEN, BLANK, YELLOW

      }

  2.   用法二: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;

      }

      }

      }

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

      如果打算自定义自己的方法,那么必须在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;

      }

      }

  4.   用法四:覆盖枚举的方法

      下面给出一个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;

      }

      }

  5.   用法五:实现接口

      所有的枚举都继承自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);

      }

      }

  6.   用法六:使用接口组织枚举

      Java代码

      public interface Food {

      enum Coffee implements Food{

      BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO

      }

      enum Dessert implements Food{

      FRUIT, CAKE, GELATO

      }

      }

  7. 7

      用法七:关于枚举集合的使用

      java.util.EnumSet和java.util.EnumMap是两个枚举集合。EnumSet保证集合中的元素不重复;EnumMap中的key是enum类型,而value则可以是任意类型。关于这个两个集合的使用就不在这里赘述,可以参考JDK文档。

Java枚举7常见种用法的更多相关文章

  1. 【转】Java 枚举7常见种用法

    原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu  原创地址:http://blog.li ...

  2. Java 枚举7常见种用法

    DK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是:  ...

  3. Java 枚举7常见种用法(转)

    JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl ...

  4. java枚举中常见的7中用法

    2016年08月11日 11:14:45 李学凯  原文链接https://blog.csdn.net/qq_27093465/article/details/52180865 JDK1.5引入了新的 ...

  5. (转) java定时器的几种用法

    package com.lid; import java.util.Calendar; import java.util.Date; import java.util.Timer; import ja ...

  6. Java枚举的七种常见用法

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

  7. Java中关于枚举的7种用法

    1.定义常量: public enum Color { RED,ORANGE,YELLOW,GREEN,INDIGO,BLUE,PURPLE } 2.用于switch: enum Color { RE ...

  8. Java枚举的作用和用法

    从没有枚举的时代说起 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量.例如: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 ...

  9. java定时器的几种用法[转]

                                  Timer timer =          timer.schedule(                              Sy ...

随机推荐

  1. Android 自定义View (一)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24252901 很多的Android入门程序猿来说对于Android自定义View ...

  2. 基于Android Volley的网络请求工具

    基于Android Volley的网络请求工具. 一.说明 AndroidVolley,Android Volley核心库及扩展工程.AndroidVolleySample,网络请求工具示例工程.Re ...

  3. Unix系统解压tar包时出现@LongLink错误

    Unix系统上使用tar命令解压tar包后,多了一个@LongLink的文件,并且原来的tar包解压后不完整.网上查了下,原因是AIX系统上tar命令自身的一个缺陷.解决办法:把该tar包上传到lin ...

  4. fork安全的gettid高效实现

    进程有id,可以通过getpid()获得,线程也有id,但是glibc没有提供封装.需要自己发出系统调用.在关键路径,系统调用还是对性能有影响的.因此我们可以想到类似glibc对getpid做的cac ...

  5. java03变量和基本数据类型

    /** * * 失去一日甚易,欲得回已无途! * * 关键字:java中的关键字 就是指 已经被定义了的单词! * 我们就不能再拿关键字 作为我们的变量名! * 常用的关键字: * 基本数据类型: * ...

  6. hdu 2104

    #include <iostream> using namespace std; int gcd(int a,int b) { return (b?gcd(b,a%b):a); } int ...

  7. 趣味算法——青蛙过河(JAVA)

    青蛙过河是一个非常有趣的智力游戏,其大意如下: 一条河之间有若干个石块间隔,有两队青蛙在过河,每队有3只青蛙,这些青蛙只能向前移动,不能向后移动,且一次只能有一只青蛙向前移动.在移动过程中,青蛙可以向 ...

  8. Tab标签栏 切换 权威总结

    angular的标签栏,有两种方法实现: 内容全部加载到页面中,再利用ng-show指令. 将每一块要加载的内容做成模板,利用ng-if指令加载. 用bootstrap的tab组件 用angular的 ...

  9. JS类百度的动态提示框思路及完成

    参考的代码来自这里: http://www.jb51.net/article/28075.htm 不过说实话,这个网站太烂了,不适合看代码,另外写代码的人是个大牛,但是却没有模块化思想,所以朕不高兴直 ...

  10. cookie有效期到了后,是由浏览器还是由系统还删除的

    Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie).而还有一些Cookie在用户退出 ...