论坛首页 Java企业应用论坛

Java 枚举7常见种用法

浏览 382025 次
精华帖 (0) :: 良好帖 (10) :: 新手帖 (0) :: 隐藏帖 (2)
作者 正文
   发表时间:2011-10-08  
ol_beta 写道

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

用法一:常量

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

 

 

用法二:switch

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

 


 

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

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

 


 

用法四:覆盖枚举的方法

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

 

 

用法五:实现接口

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

 

 

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

 

 

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

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

关于枚举的实现细节和原理请参考:

参考资料:《ThinkingInJava》第四版

http://softbeta.iteye.com/blog/1185573

 

0 请登录后投票
   发表时间:2011-10-08  
实际就用一两种,添加的很少用到。
0 请登录后投票
   发表时间:2011-10-08  
jdk7一旦应用起来 枚举的switch用法就会很少用到了吧
0 请登录后投票
   发表时间:2011-10-08  
接口里面放枚举,这个还没用过,可以去试试
0 请登录后投票
   发表时间:2011-10-08  
一、二、三、四、比较常用;五、六、七不怎么用。
0 请登录后投票
   发表时间:2011-10-08  
不错,开发中确实少用;
但可以用来替换IF ELSE等。
0 请登录后投票
   发表时间:2011-10-08   最后修改:2011-10-08
使用set方法 enum还有什么意义呢
0 请登录后投票
   发表时间:2011-10-08  
0dragon 写道
jdk7一旦应用起来 枚举的switch用法就会很少用到了吧

看情况而定,如果有系统中已有枚举,还是用枚举更清晰
0 请登录后投票
   发表时间:2011-10-08  
wyfj2001 写道
使用set方法 enum还有什么意义呢

有的是,前台要展示的东西可能跟我们写在枚举中的内容不是很一致,这时候,可以调用set
0 请登录后投票
   发表时间:2011-10-08  
Java中一直就没用过枚举。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics