# Java,枚举类(enum-class) 的使用 *Java技术栏* 在 Java 中,枚举,是一种特殊的类,是一个 常用的 JAVA-编程知识,我们将使用案例与解释让大家认识枚举 。 ## 开始  枚举在 Java 枚举类型是一种数据类型,它包含固定数量的常量。枚举在 Java 5 中引入,并且被视为一种数据类型。枚举在 Java 中被视为数据类型,你可以使用它们来创建枚举类型的变量、数组和集合。 在 Java 中,枚举类型被视为数据类型,你可以使用它们来创建枚举类型的变量、数组和集合。使用枚举可以使代码更加清晰、易于维护和可读性更好。在 Java 中,你可以使用关键字 enum 来定义一个枚举类型。 ### 无自定义方法枚举类 #### 创建与定义 ```java public enum Test { } ``` 这段代码定义了一个名为 Test 的枚举类型。枚举类型是数据类型的一种,它包含固定数量的常量。在这段代码中,Test 枚举类型目前是空的,也就是说,它没有包含任何常量。 枚举在编程中有很多用途,例如表示星期、月份或者是一组特定的状态等。你可以为枚举类型添加方法、构造函数,甚至是嵌套的枚举类型,例如下面是一个定义了一些常量的枚举类。 ```java public enum Test { VALUE1, VALUE2, VALUE3; } ``` 不过这种枚举并不能做些什么,它是一种无方法的枚举类,可以用来进行比较等操作,下面是一个使用的示例。 #### 使用与操作 ##### 查看枚举数值 枚举类的数值其实就是其本身的字符串,我们可以看下面的例子! ```java public class MAIN { public static void main(String[] args) { // 判断两个枚举类是否相等 System.out.println(Test.VALUE1); System.out.println(Test.VALUE2); System.out.println(Test.VALUE3); } } ``` 在上面,我们使用了打印语句直接将定义的三个枚举数据进行了打印操作,那么这段代码将分别打印这三个常量的名称。因为它们是不同的枚举值,所以结果如下。 ``` VALUE1 VALUE2 VALUE3 进程已结束,退出代码0 ``` ##### 枚举对象比较 枚举类与枚举类之间支持 `=` 以及 `!=` 运算符,这使得我们可以在开发中使用常量来进行配置参数的指定等操作,下面是一个示例。 ```java public class MAIN { public static void main(String[] args) { // 判断两个枚举类是否相等 System.out.println(Test.VALUE1 == Test.VALUE2); System.out.println(Test.VALUE2 == Test.VALUE2); System.out.println(Test.VALUE3 == Test.VALUE2); } } ``` 我们在代码中进行了三个枚举类,分别与 `Test.VALUE2` 的比较,最终可以看到,只有 ` System.out.println(Test.VALUE2 == Test.VALUE2);` 返回了true。 ``` false true false 进程已结束,退出代码0 ``` ##### 枚举对象的 valueOf 函数 在Java中,我们不仅仅可以通过代码引用的方式获取到枚举类,其实也可以使用 `valueOf` 函数来实现效果,valueOf 是枚举类中的一个静态方法,用于将字符串转换为对应的枚举值。它的作用是将字符串名称转换为对应的枚举常量,例如我们想要通过字符串获取到 `Test.VALUE2` 枚举对象,可以像下面一样做。 ```java public class MAIN { public static void main(String[] args) { // 获取到枚举类 final Test value2 = Test.valueOf("VALUE2"); // 打印其是否是 value2 System.out.println(value2 == Test.VALUE2); } } ``` 我们直接通过 valueOf 函数解析字符串 获取到了枚举类,并使用 `==` 运算符判断了其是否为 value2 枚举类。 ``` true 进程已结束,退出代码0 ``` ### 有自定义方法枚举类 =未完待续= ------ ***操作记录*** 作者:[root](http://www.lingyuzhao.top/index.html?search=1 "root") 操作时间:2023-12-08 10:35:38 星期五 事件描述备注:保存/发布 [](如果不需要此记录可以手动删除,每次保存都会自动的追加记录)