Java 枚举(enum) 个人对于枚举的一点理解

JDK1.5引入了新的类型——枚举 , 但是学习的时候没有涉及到.

无意中看到有人使用,就了解了一下.

在JDK1.5 之前,我们定义常量都是: public static final.... 。

但是有了枚举之后,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 

public enum PeopleEnum{
	WORK,SLEEP,EAT,GAME; //这几个是常量
}

参考了一篇访问量很高的博客 ?,但是还是没看懂.

参考:Java 枚举(enum) 详解7种常见的用法

然后一直找资料 和 写demo 才理解了(下面代码有详细注释):

枚举类:

package top.jacktu;

public enum Color{
	/**
		类下面必须先定义 常量,常量就是Color类型
		
		要使用构造方法,当构造方法没有参数时 可以省略 括号
	 */
	RED("红色", 1), GREEN("红色", 1), BLANK("红色", 1), YELLO("红色", 1),OTHER;
	
	protected String name;
	protected int index;

	private Color(String name, int index) {
		this.name = name;
		this.index = index;
	}
	private Color() {
	}
}

枚举的常量的 测试  行后注释,是输出的结果:

public class ColorTest {

	@Test
	public void Test1() {
		//枚举里的常量 的类型
		System.out.println(Color.RED.getClass());//class top.jacktu.Color
		
		//输出枚举常量 (自动调用了该对象 toString 方法)
		System.out.println(Color.RED);//RED
		
		//枚举的 名称为 RED常量,与 字符串 RED 比较
		System.out.println(Color.RED.equals("RED"));//false
		
		//枚举常量 toString 后 与 RED ==比较
		System.out.println(Color.RED.toString() == ("RED"));//true

		//枚举常量 toString 后 与 RED equals 比较
		System.out.println(Color.RED.toString() .equals("RED"));//true
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值