使用pojo实现enum

三月 20th, 2009 | 500 次阅读
Tags: Java 技术 重构 Posted in Java :-)说点什么吧

      enum是java1.5的新特性,可以实现在C/C++中的枚举功能,但是这种特性要JDK1.5才有,对于一些要使用JDK1.5以下的的JDK版本进行开发的项目 来说就不得不寻求其他的方案了。

      之前我做的项目要在JDK1.3的虚拟机上面运行,而我用的JDK是1.6的版本,所以在最终整合的时候出现了一些问题,后来经师兄指点,结合网上的资料,利用java本身最 础的类特性(pojo)实现了enum。

      举个例子,下面先来看一段 enum 的代码:

         enum Color{

                red,blue,yellow,black,white;

         } 

       声明了一个含有五个枚举量的枚举Color,这是在JDK1.3下面是运行不了的,我们给他来个重构:

          class Color{

                  public static final Color red = new Color(0);

                  public static final Color blue = new Color(1);

                  public static final Color yellow = new Color(2);

                  public static final Color black = new Color(3);

                  public static final Color white = new Color(4);

                  int value ;

                  private Color(int value){
                          this.value = value;
                  } 

                  public int getValue(){
                          return this.value;
                  }

          }

      经过这样的改造,两种Color其实已经在使用上有很强的兼容性了,至少在java中的类C形式的代码中,实现了行为的一致。无论Color是使用enum还是class定义,我们都可以使用下面的代码:

          Color r = Color.red;

          Color b = Color.blue;

          Color color = Color.red;

          if(r != b){......}

          if(color == b){......}

    我在JDK1.5下面编写的代码经过这样的重构,就可以在JDK1.5下面运行了。

Relate Posts:// 相关文章

终于绑定好了»
«程序设计心得

“使用pojo实现enum” 共有2条留言

  1. smartweb On

    开始写教程啦,so good

  2. Link On

    特来回贴。

我要留言

2+8=