java中的enum
时间: 2024-10-03 08:03:56 浏览: 6
在Java中,`enum`是一个特殊的类,它用于创建固定数量的常量集合,通常用于定义一组有限的枚举值,比如星期、颜色等。`enum`关键字用于声明一个新的枚举类型,每个枚举成员被称为“枚举常量”。以下是`enum`的一些关键特性:
1. **静态成员**:枚举的所有实例都是该类型的静态成员,可以直接通过类名访问。
2. **初始化**:可以为每个枚举常量提供初始值,如整数、字符串或其他枚举常量。
3. **方法**:可以在枚举类型内部定义方法,这些方法也可以访问枚举常量的值。
4. **默认构造函数**:每个枚举类型都有一个默认构造函数,无需显式指定。
例如:
```java
public enum Color {
RED(1),
GREEN(2),
BLUE(3);
private int value;
Color(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
```
在这个例子中,`Color`枚举有三个成员RED、GREEN和BLUE,它们分别对应整数值1、2和3。我们可以像操作普通类的对象一样使用这些枚举常量。
相关问题
java中enum怎么用
在Java中,枚举类型(Enum)是一种特殊的类,用于定义固定数量的常量。枚举类型可以在switch语句中使用,可以简化代码并增强可读性。下面是Java中如何使用枚举类型的示例:
声明一个枚举类型:
```
enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
```
在Java中,枚举类型的定义通常放在类的最外部,与类同级。
使用枚举类型:
```
Day today = Day.MONDAY;
switch (today) {
case MONDAY:
System.out.println("Today is Monday");
break;
case TUESDAY:
System.out.println("Today is Tuesday");
break;
case WEDNESDAY:
System.out.println("Today is Wednesday");
break;
case THURSDAY:
System.out.println("Today is Thursday");
break;
case FRIDAY:
System.out.println("Today is Friday");
break;
case SATURDAY:
System.out.println("Today is Saturday");
break;
case SUNDAY:
System.out.println("Today is Sunday");
break;
}
```
在上面的代码中,我们首先声明了一个Day枚举类型,并将today变量的值设置为MONDAY。然后,我们使用switch语句根据today的值打印出当天是星期几。
需要注意的是,枚举类型的常量名称通常使用大写字母命名。
java中enum的tostring
在Java中,枚举类型(enum)默认会继承Enum类,该类提供了一个名为toString()的方法,用于返回枚举常量的名称。因此,如果要获取枚举常量的名称,只需调用该方法即可。
例如:
```
public enum Color {
RED, GREEN, BLUE;
}
Color color = Color.RED;
String name = color.toString(); // 返回 "RED"
```
需要注意的是,如果要自定义枚举常量的名称,可以通过在枚举常量后面添加括号,并在括号中指定名称来实现。此时,调用toString()方法会返回自定义名称。
例如:
```
public enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");
private String name;
private Color(String name) {
this.name = name;
}
public String toString() {
return this.name;
}
}
Color color = Color.RED;
String name = color.toString(); // 返回 "红色"
```