Java枚举是一种特殊的类,它允许你定义一组有限的常量。枚举可以用来表示一组有限的值,例如星期几、月份、性别等。在Java中,枚举是一种强大的工具,可以用来定义常量和控制语句。
在Java中,枚举之间的相等性是通过equals()方法来实现的。equals()方法用于比较两个对象是否相同。如果两个对象相同,则返回true;如果不同,则返回false。因此,当我们想要比较两个Java枚举时,我们可以使用equals()方法来实现。
// 检测 Java 枚举是否相等 if (enum1.equals(enum2)) { System.out.println("Enums are equal"); } else { System.out.println("Enums are not equal"); }
您可以通过三种方式比较两个枚举常量:
Enum类的compareTo()方法比较同一枚举类型的两个枚举常量。它返回两个枚举常量的序数差。如果两个枚举常量相同,则返回零。
以下代码将打印-3,因为LOW(ordinal = 0)和URGENT(ordinal = 3)的序数的差为-3。
负值表示正在比较的常数发生在比较对象之前。
enum Level { LOW, MEDIUM, HIGH, URGENT; } public class Main { public static void main(String[] args) { Level s1 = Level.LOW; Level s2 = Level.URGENT; // s1.compareTo(s2) returns s1.ordinal() - s2.ordinal() int diff = s1.compareTo(s2); System.out.println(diff); } }
上面的代码生成以下结果。
Enum类的equals()方法比较两个枚举常量的相等性。
枚举常量只等于自身。equals()方法可以在不同类型的两个枚举常量上调用。
enum Level { LOW, MEDIUM, HIGH, URGENT; } public class Main { public static void main(String[] args) { Level s1 = Level.LOW; Level s2 = Level.URGENT; System.out.println(s1.equals(s1)); } }
上面的代码生成以下结果。
我们可以使用等于运算符==来比较两个枚举常量的相等性。
==运算符的两个操作数必须是相同的枚举类型。
JavaFX教程 -JavaFX FlowPaneFlowPane根据可用的水平间距布置一行中的节点当水平空间小于所有节点“宽度"的总和时,将节点包裹到...
Java 实例 - 向文件中追加数据 Java 实例以下实例演示了使用 filewriter 方法向文件中追加数据:import java.io.*;public class ...
Java 实例 - 获取异常的堆栈信息 Java 实例以下实例演示了使用异常类的 printStack() 方法来获取堆栈信息:public class Main{ p...
Java toString() 方法JavaString类toString() 方法返回此对象本身(它已经是一个字符串)。语法public String toString()参数 无...
Java 面向对象设计 - Java 终止块try 块也可以有零个或一个 finally 块。 finally 块总是与 try 块一起使用。语...