- Java类
- Java包
- Java方法
- Java访问
- Java创建
- Java对象(Object)
- Java内部类
- Java继承
- Java抽象类
- Java泛型类
- Java异常
- Java接口
- Java枚举
- Java注解
Java枚举比较
可以通过三种方式比较两个枚举常量:
- 使用
Enum
类的compareTo()
方法 - 使用
Enum
类的equals()
方法 - 使用
==
运算符
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); } }
上面的代码生成以下结果。
-3
实例-2
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)); } }
上面的代码生成以下结果。
true
可以使用等于(==
)运算符来比较两个枚举常量的相等性。等于(==
)运算符的两个操作数必须是相同的枚举类型。
分类导航
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
关注微信小程序
扫描二维码
程序员编程王