Java Enum 学习

  • Post author:
  • Post category:java





Java Enum





学习







1.








关于





Java Enum:




学过



C/C++



等语言的人,应该都对



Enum



类型略知一二。



Enum



一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用



”==”



来替换



equals



。是一种好的习惯。



JDK1.5



之前没有



Enum



这个类型,那时候一般用接口常量来替代。有了



JavaEnum



之后,可以更贴近的表示这种常量。





2.








如何使用





Java Enum




简单的用法:



JavaEnum



简单的用法一般用于代表一组常用常量,可用来代表一类相同类型的常量值。如:







性别:



public






enum




SexEnum

{







male



,



female



;


}


颜色:



public






enum



Color {







RED



,



BLUE,GREEN,BLACK



;


}






枚举对象里面的值都必须是唯一的。



可以通过



Enum



类型名直接引用该常量,如



SexEnum.male,Color.RED.




复杂用法:



Java



为枚举类型提供了一些内置的方法,同事枚举常量还可以有自己的方法。可以很方便的遍历枚举对象,看个下面的例子:







1.








代码一




WeekDay.java






:


















2.









代码二



WeekDayTest.java:












输出结果为:









Mon====>Monday


Tue====>Tuesday


Wed====>Wednesday


Thu====>Thursday


Fri====>Friday


Sat====>Saturday


Sun====>Sunday


Fri






3.









Java Enum





原理






Java Enum



类型的语法结构尽管和



java



类的语法不一样,应该说差别比较大。但是经过编译器编译之后产生的是一个



class



文件。该



class



文件经过反编译可以看到实际上是生成了一个类,该类继承了



java.lang.Enum<E>.





WeekDay




(javap WeekDay



命令


之后得到的内容如下



(



去掉了汇编代码



)









所以实际上



Enum



类型就是以



Java



类来实现的,没有什么新的特点,只不过



java



编译器帮我们做了语法的解析和编译。完全也可以自己实现。但是既然有这样方便一个东西,当然会去用了。





版权声明:本文为abing37原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。