java枚举使用

在C++时代就有了枚举值这个类型,它是一种有序键值对的集合,使用枚举类型可以在语义化和结构化之间达成一种平衡。如果我们的代码中到处都是需要文档才能看懂的数字或字符(串)定义的话,那将是一种非常痛苦的事情。老陈最近在学习Java,在对项目重构的时候,就需要枚举类型来优化代码结构,给力的是,Java和.NET等语言(环境)一样都提供了对枚举类型的直接支持


package ObjectDemo;

enum Dir
{
	WEST(1),
	EAST(2),
	SOUTH(3),
	NORTH(4);
	
	private int value;
	private Dir(int value)
	{
		this.value = value;
	}
	public int getValue()
	{
		return value;
	}
	
	public static Dir getDir(int num)
	{
		for(Dir d : Dir.values())
		{
			if (d.getValue() == num) {
				return d;
			}
		}
		return null;
		
	}
}

public class EnumDemo {
	public static void main(String[] args) {
		//Dir d1 = Dir.EAST;
		//System.out.println(d1.getValue());
		
		Dir d1 = Dir.getDir(2);
		System.out.println(d1);
	}
	
}
绑定常量时,.net实现非常简单

 enum Colors
 {
     WEST = 1,
     EAST = 2,
     SOUTH = 3,
     NORTH = 4,
 }


enum Direc
{
	EAST(1,"东方"),WEST(2,"西方"),SOUTH(3,"南方"),NORTH(4,"北方");
	
	private int value;
	private String name;
	
	private Direc(int value,String name)
	{
		this.value = value;
		this.name = name;
	}
	public int getValue()
	{
		return value;
	}
	public String getName()
	{
		return name;
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值