当前位置:首页 > Java

java枚举如何用

2026-03-23 04:25:11Java

枚举的基本定义

在Java中,枚举(enum)是一种特殊的数据类型,用于定义一组固定的常量。枚举通过enum关键字声明,常量通常用大写字母表示,多个常量之间用逗号分隔。

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

枚举的常用方法

枚举类默认继承java.lang.Enum,因此可以直接调用以下方法:

  • name():返回枚举常量的名称(字符串形式)。
  • ordinal():返回枚举常量的序号(从0开始)。
  • values():返回枚举的所有常量(数组形式)。
  • valueOf(String name):根据名称返回对应的枚举常量。

示例:

Day today = Day.MONDAY;
System.out.println(today.name());      // 输出 "MONDAY"
System.out.println(today.ordinal());   // 输出 0
Day[] days = Day.values();             // 获取所有枚举值

枚举的高级用法

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

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

    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; }
}

枚举与switch结合

枚举常用于switch语句中,提高代码可读性。

Day day = Day.MONDAY;
switch (day) {
    case MONDAY:
        System.out.println("工作日开始");
        break;
    case FRIDAY:
        System.out.println("周末快到了");
        break;
    default:
        System.out.println("普通工作日");
}

枚举实现接口

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

public interface Greeting {
    void greet();
}

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

枚举的单例模式

枚举天然支持单例模式,线程安全且防止反射攻击。

java枚举如何用

public enum Singleton {
    INSTANCE;

    public void doSomething() {
        System.out.println("单例方法调用");
    }
}

标签: 如何用java
分享给朋友:

相关文章

java如何连接数据库

java如何连接数据库

Java连接数据库的方法 Java连接数据库通常使用JDBC(Java Database Connectivity)技术,以下是具体步骤和示例代码。 加载数据库驱动 在连接数据库之前,需要加载对应的…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

java如何遍历map

java如何遍历map

遍历Map的几种方法 在Java中,遍历Map有多种方式,可以根据需求选择合适的方法。以下是常见的几种遍历方式: 使用entrySet遍历 通过entrySet()方法获取键值对的集合,可以同时访问…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

如何学习好java

如何学习好java

掌握Java基础知识 学习Java的第一步是掌握其基础知识,包括数据类型、变量、运算符、控制流语句(如if-else、for循环、while循环)以及数组。这些是构建更复杂程序的基石。可以通过在线教程…

vue实现java登录注册

vue实现java登录注册

实现 Vue 与 Java 后端的登录注册功能 前端 Vue 部分 安装必要的依赖(如 axios 用于 HTTP 请求): npm install axios 创建登录表单组件(Login.vue…