java Enum类用法
时间: 2023-08-30 13:10:43 浏览: 59
Java中的枚举类(Enum)是一种特殊的数据类型,它表示一组固定数量的常量。使用枚举可以使代码更加简洁、易读和可维护。
下面是Enum类的用法:
1. 声明枚举类
枚举类声明的语法如下:
```
enum 枚举类名 {
常量1,
常量2,
...
常量n
}
```
其中,常量可以有自己的属性、方法和构造器。
2. 访问枚举常量
可以使用枚举类名和常量名来访问枚举常量,例如:
```
enum Color {
RED, GREEN, BLUE
}
Color color = Color.RED;
```
3. 枚举常量的属性和方法
可以为枚举常量定义自己的属性和方法,例如:
```
enum Color {
RED("#FF0000"), GREEN("#00FF00"), BLUE("#0000FF");
private String code;
private Color(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}
Color color = Color.RED;
System.out.println(color.getCode()); // 输出:#FF0000
```
4. 枚举常量的遍历
可以使用枚举类的values()方法获取所有枚举常量的数组,例如:
```
enum Color {
RED, GREEN, BLUE
}
for (Color color : Color.values()) {
System.out.println(color.name());
}
```
上面的代码将输出:
```
RED
GREEN
BLUE
```
5. 枚举常量的比较
枚举常量可以使用==运算符进行比较,例如:
```
enum Color {
RED, GREEN, BLUE
}
Color color1 = Color.RED;
Color color2 = Color.GREEN;
if (color1 == Color.RED) {
System.out.println("color1 is RED");
}
if (color1 != color2) {
System.out.println("color1 is not equal to color2");
}
```
输出结果为:
```
color1 is RED
color1 is not equal to color2
```
这就是Java中Enum类的用法。枚举类的好处在于可以将一组相关的常量组织在一起,并且可以为每个常量定义自己的属性和方法,增强了代码的可读性和可维护性。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)