运行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};
结果如下

可见这个程序演示了如何使用枚举类型。首先,定义了一个枚举类型Size,包含三个值:SMALL、MEDIUM和LARGE。然后,在main方法中,创建了两个Size类型的变量s和t,分别赋值为Size.SMALL和Size.LARGE。接着,通过比较s和t的引用,判断它们是否引用同一个对象,并将结果输出。由于s和t分别引用不同的Size对象,所以输出为false。接下来,通过调用getClass().isPrimitive()方法判断s的类型是否为原始数据类型。由于枚举类型是一种特殊的类,而不是原始数据类型,所以输出为false。然后,通过调用Size.valueOf("SMALL")方法将字符串"SMALL"转换成Size类型的枚举值,并将结果赋值给变量u。再次比较s和u的引用,判断它们是否引用同一个对象,并将结果输出。由于s和u引用同一个Size对象,所以输出为true。最后,通过调用Size.values()方法,列出了Size枚举类型的所有值,并将它们逐个输出。输出结果为: SMALL MEDIUM LARGE。
根据这个程序,可以得出以下结论:1. 枚举类型是一种特殊的类,可以定义一组常量值作为枚举类型的可能取值。2. 枚举类型的值是唯一的,每个枚举常量都是一个独立的对象。3. 可以使用==运算符来比较枚举类型的值,判断它们是否引用同一个对象。4. 枚举类型不是原始数据类型,而是一种特殊的类。5. 可以通过调用valueOf方法将字符串转换为枚举类型的值。6. 可以通过调用values方法获取枚举类型的所有值,并进行遍历。总之,枚举类型提供了一种更加简洁和安全的方式来定义常量值,并且可以方便地进行比较和转换操作。