仔细阅读示例: EnumTest.java,运行它,分析运行结果?
代码如下:
`public class EnumTest {
public static void main(String[] args) {
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t);
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size{SMALL,MEDIUM,LARGE};分析及结果如下:
enum Size{SMALL,MEDIUM,LARGE};此段代码定义了Size枚举;
Size s=Size.SMALL;
Size t=Size.LARGE;创建Size变量s,t;
//s和t引用同一个对象?
System.out.println(st); 比较变量s,t 结果:false 说明s和t引用的不是同一个对象
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());调用**Class**中的isPrimitive()方法判断枚举变量是否为原始数据类型。 结果:false 说明枚举变量不属于原始数据类型。 **补充:原始数据类型:指的是直接存储基本数据的数据类型(如:int,double),它们有固定的字节数,并且不是对象。**
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(su); //true此段代码根据枚举类型中的valueOf方法将字符串转换为枚举变量 结果:false 通过字符串转换得到的同值枚举变量与原创建的枚举变量是相同的。
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}`
结果如下:
SMALL
MEDIUM
LARGE
整段代码运行结果:
你能得到什么结论?你掌握了枚举类型的基本用法了吗?
结论一:枚举变量有其固定的值;
结论二:枚举类型不是原始数据类型
结论三:valueOf方法可以创建枚举变量
结论四:values方法可以遍历枚举类型