枚举类型

枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值



取得枚举信息:

public class GetEnumInfo{
	public static void main(String args[]){
		for(Color c:Color.values()){
			System.out.println(c.ordinal() + " --> " + c.name()) ;
		}
	}
};

通过构造方法为属性赋值:

enum Color{
	RED("红色"),GREEN("绿色"),BLUE("兰色") ;
	private Color(String name){
		this.setName(name) ;
	}
	private String name ;			// 定义name属性
	public void setName(String name){
		this.name = name ;
	}
	public String getName(){
		return this.name ;
	}
}
public class ConstructorEnum{
	public static void main(String args[]){
		for(Color c:Color.values()){
			System.out.println(c.ordinal() + " --> " + c.name()
				+"(" + c.getName() + ")") ;
		}
	}
};

通过setter方法为属性赋值:

<span style="font-size:14px;">enum Color{
	RED,GREEN,BLUE ;
	private String name ;			// 定义name属性
	public void setName(String name){
		switch(this){	// 判断操作的是那个枚举对象
			case RED:{
				if("红色".equals(name)){
					this.name = name ;	// 允许设置名字
				}else{
					System.out.println("设置内容错误。") ;
				}
				break ;
			}
			case GREEN:{
				if("绿色".equals(name)){
					this.name = name ;	// 允许设置名字
				}else{
					System.out.println("设置内容错误。") ;
				}
				break ;
			}
			case BLUE:{
				if("蓝色".equals(name)){
					this.name = name ;	// 允许设置名字
				}else{
					System.out.println("设置内容错误。") ;
				}
				break ;
			}
		}
		this.name = name ;
	}
	public String getName(){
		return this.name ;
	}
}
public class SetEnum{
	public static void main(String args[]){
		Color c = Color.BLUE ;	// 得到兰色
		c.setName("兰色") ;	 // 名字错误
		c.setName("蓝色") ;	 // 名字正确
		System.out.println(c.getName()) ;
	}
};</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值