论坛首页 Java企业应用论坛

枚举的一种高级用法

浏览 7376 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-08-09  
rainsilence 写道
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");

大约可能不行.....
0 请登录后投票
   发表时间:2010-08-09   最后修改:2010-08-09
这个在Effective Java中有讲到。通过有参数的构造函数,在增加一个新的枚举值时,防止忘记赋值。
0 请登录后投票
   发表时间:2010-08-09  
这不是高级吧!基础功能哦!
0 请登录后投票
   发表时间:2010-08-09  
我觉得这种事情不应该让枚举做,就用简单的枚举挺好,个人意见!
0 请登录后投票
   发表时间:2010-08-09  
枚举的高级用法?

本来就这样用的。是你从来没用过吧~

应该称之为 Java基础 - 枚举
0 请登录后投票
   发表时间:2010-08-09  
嗯,没发现java.util.concurrent包里的类都写得很牛B?
mercyblitz 写道
楼主可以看看java.util.concurrent.TimeUnit更加高级,混合了算法。

0 请登录后投票
论坛首页 Java企业应用版

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