JDK1.5引入了新的类型——枚举 , 但是学习的时候没有涉及到.
无意中看到有人使用,就了解了一下.
在JDK1.5 之前,我们定义常量都是: public static final.... 。
但是有了枚举之后,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。
public enum PeopleEnum{
WORK,SLEEP,EAT,GAME; //这几个是常量
}
参考了一篇访问量很高的博客 ?,但是还是没看懂.
然后一直找资料 和 写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
}
}