Java 的枚举怎样使用,给简单例子.如果在一个类里面定义,其他类要怎样调用,给简单例子
时间: 2023-12-03 12:05:08 浏览: 25
Java 的枚举类型(enum)是一种特殊的类,用于表示一组固定的常量。这些常量被称为枚举值,并且在定义时已经确定,不能在运行时改变。
以下是一个简单的枚举类型的例子:
```java
public enum Day {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
}
```
在这个例子中,我们定义了一个 Day 枚举类型,它包含了一周中的所有天。这些枚举值都是 Day 类型的实例,可以通过 Day.MONDAY、Day.TUESDAY 等来访问。
如果在一个类里面定义了枚举类型,其他类可以通过类名来访问它。例如:
```java
public class MyClass {
public enum Color {
RED,
GREEN,
BLUE
}
public static void main(String[] args) {
Color c = Color.RED; // 访问枚举值
System.out.println(c); // 输出 RED
}
}
```
在这个例子中,我们在 MyClass 类中定义了一个 Color 枚举类型,并在 main 方法中访问它。我们可以通过 MyClass.Color.RED 等方式来访问枚举值,也可以像上面的例子一样使用枚举值的简单名称。
相关问题
java一个map存储格式的枚举类例子
以下是一个使用Map存储枚举值的Java示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class EnumMapExample {
enum Fruit {
APPLE, BANANA, ORANGE
}
public static void main(String[] args) {
Map<Fruit, String> fruitMap = new HashMap<>();
fruitMap.put(Fruit.APPLE, "red");
fruitMap.put(Fruit.BANANA, "yellow");
fruitMap.put(Fruit.ORANGE, "orange");
System.out.println("Color of APPLE is " + fruitMap.get(Fruit.APPLE));
System.out.println("Color of BANANA is " + fruitMap.get(Fruit.BANANA));
System.out.println("Color of ORANGE is " + fruitMap.get(Fruit.ORANGE));
}
}
```
在上面的代码中,首先定义了一个枚举类型`Fruit`,包含了三个枚举值:`APPLE`、`BANANA`和`ORANGE`。然后使用`HashMap`实例化了一个`fruitMap`对象,将每个枚举值和对应的颜色字符串存储在这个map中。最后通过调用`get()`方法获取每个枚举值对应的颜色,并输出结果。
输出结果如下:
```
Color of APPLE is red
Color of BANANA is yellow
Color of ORANGE is orange
```
枚举类在switch...case语句中使用的问题
枚举类可以在 `switch...case` 语句中使用。在 `switch` 后面的括号中,你需要提供一个枚举类型的变量或表达式。每个 `case` 分支需要指定一个枚举常量,并在后面跟上冒号。当 `switch` 语句执行时,它会将提供的枚举变量或表达式的值与每个 `case` 分支中指定的枚举常量的值进行比较,找到匹配的分支并执行其中的代码。
以下是一个简单的示例,演示了如何在 `switch...case` 语句中使用枚举类:
```java
enum DayOfWeek {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class Example {
public static void main(String[] args) {
DayOfWeek day = DayOfWeek.MONDAY;
switch (day) {
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;
default:
System.out.println("Invalid day of week.");
break;
}
}
}
```
在这个例子中,我们定义了一个枚举类 `DayOfWeek`,表示一周中的每一天。然后我们在 `main` 方法中创建了一个 `DayOfWeek` 类型的变量 `day`,并将其初始化为 `DayOfWeek.MONDAY`。接下来,我们使用 `switch...case` 语句来根据 `day` 的值输出一条消息,指示今天是哪一天。由于 `day` 的值为 `DayOfWeek.MONDAY`,因此 `switch` 语句将执行第一个 `case` 分支,并输出 "Today is Monday."。