当前位置:首页 > Java

java枚举如何引用

2026-03-21 14:14:21Java

Java枚举的引用方法

在Java中,枚举(Enum)是一种特殊的类,用于表示一组固定的常量。引用枚举值的方式与引用类的静态成员类似。

直接引用枚举值

枚举值可以直接通过枚举类型名和枚举值名引用:

enum Color {
    RED, GREEN, BLUE
}

public class Main {
    public static void main(String[] args) {
        Color myColor = Color.RED;
        System.out.println(myColor); // 输出: RED
    }
}

在switch语句中使用枚举

枚举常与switch语句结合使用:

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

public class Main {
    public static void main(String[] args) {
        Day today = Day.WEDNESDAY;

        switch(today) {
            case MONDAY:
                System.out.println("星期一");
                break;
            case WEDNESDAY:
                System.out.println("星期三");
                break;
            default:
                System.out.println("其他日子");
        }
    }
}

枚举作为方法参数

枚举可以作为方法的参数类型:

enum Status {
    ON, OFF
}

public class Device {
    public void setStatus(Status status) {
        System.out.println("设备状态设置为: " + status);
    }
}

public class Main {
    public static void main(String[] args) {
        Device device = new Device();
        device.setStatus(Status.ON);
    }
}

枚举的values()和valueOf()方法

每个枚举类型自动包含两个静态方法:

enum Season {
    SPRING, SUMMER, AUTUMN, WINTER
}

public class Main {
    public static void main(String[] args) {
        // 获取所有枚举值
        Season[] seasons = Season.values();
        for (Season s : seasons) {
            System.out.println(s);
        }

        // 通过字符串获取枚举值
        Season winter = Season.valueOf("WINTER");
        System.out.println(winter);
    }
}

带有属性和方法的枚举

枚举可以包含字段、方法和构造函数:

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

    private final double mass;   // 质量(kg)
    private final double radius; // 半径(m)

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

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

public class Main {
    public static void main(String[] args) {
        Planet earth = Planet.EARTH;
        System.out.println("地球质量: " + earth.getMass() + " kg");
    }
}

枚举实现接口

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

interface Operation {
    double apply(double x, double y);
}

enum BasicOperation implements Operation {
    PLUS {
        public double apply(double x, double y) { return x + y; }
    },
    MINUS {
        public double apply(double x, double y) { return x - y; }
    };
}

public class Main {
    public static void main(String[] args) {
        System.out.println(BasicOperation.PLUS.apply(3, 4)); // 输出: 7.0
    }
}

枚举集合的使用

Java集合框架提供了专门处理枚举的类:

java枚举如何引用

enum Priority {
    LOW, MEDIUM, HIGH
}

public class Main {
    public static void main(String[] args) {
        EnumSet<Priority> priorities = EnumSet.of(Priority.MEDIUM, Priority.HIGH);
        System.out.println(priorities.contains(Priority.HIGH)); // 输出: true

        EnumMap<Priority, String> messages = new EnumMap<>(Priority.class);
        messages.put(Priority.HIGH, "紧急任务");
        System.out.println(messages.get(Priority.HIGH)); // 输出: 紧急任务
    }
}

标签: java
分享给朋友:

相关文章

如何运行java程序

如何运行java程序

编写Java代码 创建一个以.java为扩展名的文件,例如HelloWorld.java。文件内容需包含一个类定义,类名必须与文件名一致。例如: public class HelloWorld {…

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

如何自学java

如何自学java

选择合适的学习资源 从官方文档开始,Oracle提供的Java官方教程(Java Tutorials)是权威且免费的学习资料。在线平台如Codecademy、Coursera或Udemy提供互动式课程…

java前景如何

java前景如何

Java 当前的市场需求 Java 在企业级开发、大数据、云计算等领域仍占据重要地位。许多大型企业(如银行、电商平台)依赖 Java 构建后端系统。招聘平台数据显示,Java 开发岗位数量稳定,尤其在…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…