当前位置:首页 > Java

java如何使用枚举

2026-03-04 05:54:55Java

枚举的基本定义

枚举在Java中是一种特殊的数据类型,用于定义一组固定的常量。通过enum关键字声明,每个枚举常量默认是public static final的实例。

public enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

枚举的属性和方法

枚举可以包含字段、方法和构造函数,实现更复杂的逻辑。

java如何使用枚举

public enum Planet {
    MERCURY(3.303e+23, 2.4397e6),
    VENUS(4.869e+24, 6.0518e6);

    private final double mass;   // 质量
    private final double radius; // 半径

    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    }

    public double getMass() { return mass; }
    public double getRadius() { return radius; }
}

枚举的常用方法

Java为枚举提供了内置方法,例如values()valueOf()

  • values():返回枚举的所有常量数组。
  • valueOf(String name):根据名称返回对应的枚举常量。
Day[] days = Day.values();
Day monday = Day.valueOf("MONDAY");

枚举与switch语句

枚举常与switch结合使用,提高代码可读性:

java如何使用枚举

public void printDayType(Day day) {
    switch (day) {
        case MONDAY:
            System.out.println("工作日");
            break;
        case SATURDAY:
            System.out.println("周末");
            break;
        default:
            System.out.println("其他");
    }
}

枚举实现接口

枚举可以实现接口,为每个常量提供不同的行为:

public interface Greeting {
    void greet();
}

public enum GreetingType implements Greeting {
    HELLO {
        @Override
        public void greet() {
            System.out.println("Hello!");
        }
    },
    GOODBYE {
        @Override
        public void greet() {
            System.out.println("Goodbye!");
        }
    };
}

枚举的单例模式

枚举天然支持线程安全的单例模式,避免反射和序列化问题:

public enum Singleton {
    INSTANCE;

    public void doSomething() {
        System.out.println("单例操作");
    }
}

枚举的注意事项

  • 枚举常量必须在枚举类的第一行声明。
  • 枚举的构造函数默认为private,不可手动调用。
  • 枚举适合表示固定集合的值(如状态、类型等),避免滥用。

分享给朋友:

相关文章

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何输入字符串

java如何输入字符串

使用 Scanner 类 在 Java 中,可以通过 java.util.Scanner 类来输入字符串。以下是一个示例代码: import java.util.Scanner; public c…

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[0…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

如何使用 react native

如何使用 react native

安装开发环境 确保已安装 Node.js(建议使用 LTS 版本)。通过以下命令安装 React Native 命令行工具: npm install -g expo-cli 或使用 Yarn: y…