锁定老帖子 主题:枚举的一种高级用法
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-08-08
package abstract_factory; public enum RoomEnum { //定义值的时候同时调用自己定义的内部构造函数。 BedRoom("abstract_factory.BedRoom"), LivingRoom("abstract_factory.LivingRoom"); private String value = ""; private RoomEnum(String value) { this.value = value; } public String getValue() { return this.value; } public static String test() { return BedRoom.value; } public static void main(String[]args) { System.out.println(RoomEnum.test()); } } Enum类型作为一个参数传递到一个方法中时,在Junit进行单元测试的时候,不用判断输入参数是否为空、长度为0的边界异常条件。 这种比较高级的用法,可以用在创建一系列类时,缩减代码量。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-08
楼主可以看看java.util.concurrent.TimeUnit更加高级,混合了算法。
|
|
返回顶楼 | |
发表时间:2010-08-09
确实很高级啊
|
|
返回顶楼 | |
发表时间:2010-08-09
没用过,lz可否具体说明用在哪一方面的嘛?
|
|
返回顶楼 | |
发表时间:2010-08-09
楼主,你在说啥子哦,没看懂呢
|
|
返回顶楼 | |
发表时间:2010-08-09
惭愧 没看懂
|
|
返回顶楼 | |
发表时间:2010-08-09
我 也 没 懂
|
|
返回顶楼 | |
发表时间:2010-08-09
package org.test; public enum RoomEnum { BedRoom("org.test.BedRoom"), LivingRoom("org.test.LivingRoom"); private String value = ""; private RoomEnum(String value) { this.value = value; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public static void main(String[]args) { System.out.println(RoomEnum.BedRoom.getValue()); } } lz这样写不是更好些? BedRoom("org.test.BedRoom"), LivingRoom("org.test.LivingRoom"); 大致意思为 RoomEnum.BedRoom = new RoomEnum("org.test.BedRoom"); RoomEnum.LivingRoom = new RoomEnum("org.test.LivingRoom"); |
|
返回顶楼 | |
发表时间:2010-08-09
意为enum也可以是以对象,也可以有方法,有成员变量,还可以计算
|
|
返回顶楼 | |
发表时间:2010-08-09
LZ那个算基本用法了吧,LS的几个都可以算高级些的用法。
|
|
返回顶楼 | |