Java enum的用法详细介绍及实例代码

Java中的枚举类型是一种特殊的类,它具有固定数量和固定名称的常量。枚举类型可以让代码更加清晰易懂,避免了使用数字或字符串表示常量时出现的错误。

声明枚举类型

在Java中,声明枚举类型需要使用关键字enum。下面是一个最简单的例子:

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

上面的代码定义了一个Weekday的枚举类型,包含七个常量,分别表示周一到周日。

枚举类型的特性

1. 枚举类型的常量是不可变的

在Java中,枚举类型的常量是不可变的。这意味着,您不能在程序运行期间更改枚举类型中的常量值。

enum Season {
    SPRING, SUMMER, FALL, WINTER
}

public static void main(String[] args) {
    Season season = Season.SUMMER;
    season = Season.FALL; // 合法
    season.SUMMER; // 不合法,枚举类型的常量是不可变的
}

2. 枚举类型的每个常量都是唯一的

在Java中,枚举类型的每个常量都是唯一的,它可以通过==运算符进行比较。

enum Color {
    RED, GREEN, BLUE
}

public static void main(String[] args) {
    Color color1 = Color.RED;
    Color color2 = Color.RED;
    Color color3 = Color.GREEN;
    System.out.println(color1 == color2); // true
    System.out.println(color1 == color3); // false
}

3. 枚举类型可以拥有自己的方法和属性

在Java中,枚举类型可以拥有自己的方法和属性。

enum Calculator {
    PLUS("+") {
        public int calculate(int a, int b) {
            return a + b;
        }
    },
    MINUS("-") {
        public int calculate(int a, int b) {
            return a - b;
        }
    },
    MULTIPLY("*") {
        public int calculate(int a, int b) {
            return a * b;
        }
    },
    DIVIDE("/") {
        public int calculate(int a, int b) {
            return a / b;
        }
    };

    private String symbol;

    private Calculator(String symbol) {
        this.symbol = symbol;
    }

    public String getSymbol() {
        return symbol;
    }

    public abstract int calculate(int a, int b);
}

public static void main(String[] args) {
    int a = 10;
    int b = 5;
    for (Calculator calculator : Calculator.values()) {
        System.out.printf("%d %s %d = %d%n", a, calculator.getSymbol(), b, calculator.calculate(a, b));
    }
}

上面的代码定义了一个Calculator的枚举类型,每个常量分别表示加减乘除运算,并实现了一个calculate方法,根据不同的运算返回不同的结果。同时,每个常量还有自己的一个symbol属性,表示运算的符号。在main方法中,我们遍历了所有的枚举常量,并打印了它们的运算结果。

参考这篇攻略,您应该可以理解Java中枚举类型的使用方法,包括声明枚举类型、枚举类型的特性和枚举类型的方法和属性。在实际开发中,枚举类型常用于定义一些常量、状态等,从而避免使用数字或字符串表示常量时出现的错误。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java enum的用法详细介绍及实例代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Java操作Mysql的方法

    关于Java操作MySQL的方法,需要掌握以下几点: 导入数据库驱动程序 建立数据库连接 创建statement对象,执行SQL语句 处理查询结果集 关闭各种连接 下面将详细介绍这些步骤以及如何实现它们。 导入数据库驱动程序 在Java中操作MySQL,需要先导入MySQL的JDBC驱动程序。如果你使用的是Maven等依赖管理工具,可以直接在pom.xml中…

    Java 2023年5月19日
    00
  • Java多线程读写锁ReentrantReadWriteLock类详解

    Java多线程读写锁ReentrantReadWriteLock类详解 介绍 在多线程编程中,锁是保证数据安全的重要手段之一。常见的锁有synchronized和ReentrantLock,这两个锁都是互斥锁,当一个线程获得了锁,其他线程就无法获得锁,只能等待锁的释放。这种锁的特点是效率低下,只有一个线程能够访问共享资源,其他线程只能等待,不能并发访问,无法…

    Java 2023年5月19日
    00
  • SpringBoot整合Scala构建Web服务的方法

    针对这个问题,我会分为以下几个部分来逐步讲解: SpringBoot整合Scala的基础知识 构建Scala的Web服务 示例说明 总结 接下来,我会一步步讲解每一个部分。 1. SpringBoot整合Scala的基础知识 首先需要介绍Scala语言和SpringBoot框架的基本概念。 Scala是一种面向对象的静态类型编程语言,同时也支持函数式编程,是…

    Java 2023年6月3日
    00
  • 出现次数超过一半(50%)的数

    第一步: 思路分析 本题要求我们找出出现次数超过一半的数,可以采用摩尔投票法进行求解。摩尔投票法的思路是,每次从数组中取出两个不同的数之后,将它们同时删除,直到数组中只剩下一个数或者多个相同的数。此时剩下的就是出现次数超过一半的数。 第二步: 代码实现 采用摩尔投票法实现代码如下: int majorityElement(vector<int>&…

    Java 2023年6月16日
    00
  • log4j 文件输出

    关于log4j文件输出的攻略,我们可以参考以下步骤: 1. 引入log4j依赖 要使用log4j进行文件输出,我们需要在项目中引入相关的依赖。我们可以通过Maven或者Gradle等构建工具来进行引入,下面是一个Maven的示例: <dependency> <groupId>org.apache.logging.log4j</g…

    Java 2023年6月15日
    00
  • Java Calendar类的时间操作

    那么下面就为您介绍Java Calendar类的时间操作的完整攻略。 一、Java Calendar类简介 Java Calendar类是一个抽象类,它提供了操作日历的相关方法。它可以将日期值(年、月、日、时、分、秒)存储在日历中,同时支持处理日期和时间的各种操作。 二、Java Calendar类的创建 Calendar类是一个抽象类,不能直接创建实例。需…

    Java 2023年5月20日
    00
  • Java截取中英文混合字符串的方法

    当我们需要截取中英文混合字符串时,直接使用String.substring()方法进行截取,可能会截断中文字符,导致出现乱码。这里给出使用Java对中英文混合字符串进行准确截取的方法。 方法一:使用正则表达式 我们可以使用正则表达式 [\u4e00-\u9fa5] 匹配中文字符,然后计算匹配字符的个数来确定截取的位置。下面是代码示例: public clas…

    Java 2023年5月20日
    00
  • java string 转date方法如何实现

    Java中String转Date的方法有很多种,这里介绍一下常用的方式: 一、使用 SimpleDateFormat 类 SimpleDateFormat 是一个易于使用的类,可用于将 String 转换为 Date。我们可以在一个字符串中定义日期和时间格式,然后使用该类中的 parse() 方法将其转换为 Date 对象。 示例1:将一个字符串转化为日期对…

    Java 2023年6月1日
    00
合作推广
合作推广
分享本页
返回顶部