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};
这段代码定义了一个名为 EnumTest 的 Java 类,演示了如何使用 Java 枚举(enum)类型。下面是每一部分代码的详细解释:
-
类和主方法定义
java
public class EnumTest {public static void main(String[] args) {
该类 EnumTest 是一个公共类。
main 方法是程序的入口点,Java 程序从这里开始执行。
- 枚举实例的比较
java
Size s = Size.SMALL;
Size t = Size.LARGE;
System.out.println(s == t); //
这里创建了两个枚举实例,s 被赋值为 Size.SMALL,t 被赋值为 Size.LARGE。
使用 == 运算符比较 s 和 t。由于它们代表不同的枚举值,因此这个比较结果为 false,输出 false。
- 检查是否是原始数据类型
java
System.out.println(s.getClass().isPrimitive());
通过 s.getClass() 获取 s 的类对象,然后调用 isPrimitive() 方法检查该类是否为原始数据类型。
枚举不属于原始数据类型,因此此输出为 false。
- 从字符串转换为枚举
java
Size u = Size.valueOf("SMALL");
System.out.println(s == u); // true
Size.valueOf("SMALL")方法将字符串"SMALL"转换为对应的枚举常量Size.SMALL,并将结果赋值给 u。 因此,s和u都指向同一个枚举常量Size.SMALL,所以这行代码输出 true`。
-
列出所有枚举值
java
for (Size value : Size.values()) {
System.out.println(value);
}
Size.values()会返回一个包含Size枚举中所有常量的数组。
使用增强的for循环遍历这些常量,并打印它们的名称。
这将分别输出枚举中定义的所有值:
SMALL
MEDIUM
LARGE -
枚举定义
java
enum Size { SMALL, MEDIUM, LARGE };
这行代码定义了一个名为 Size 的枚举,其中包含三个常量:SMALL、MEDIUM 和 LARGE。

浙公网安备 33010602011771号