比较Java中的枚举成员
java.lang.Enum类是所有Java语言枚举类型的通用基类。
类声明
以下是java.lang.Enum类的声明-
public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable我们可以使用以下方式比较枚举变量。
使用Enum.compareTo()方法。compareTo()方法将此枚举与指定对象的顺序进行比较。
使用Enum.equals()方法。equals()如果指定对象等于此枚举常量,则方法返回true。
使用==运算符。==运算符检查类型,并对相同类型的枚举常量进行空安全比较。
示例
public class Tester {
//下涵盖的主题
enum Tutorials {
TOPIC_1, TOPIC_2, TOPIC_3;
}
public static void main(String[] args) {
Tutorials t1, t2, t3;
t1 = Tutorials.TOPIC_1;
t2 = Tutorials.TOPIC_2;
t3 = Tutorials.TOPIC_3;
//Comparing using compareTo() method
if(t1.compareTo(t2) > 0) {
System.out.println(t2 + " completed before " + t1);
}
if(t1.compareTo(t2) < 0) {
System.out.println(t1 + " completed before " + t2);
}
if(t1.compareTo(t2) == 0) {
System.out.println(t1 + " completed with " + t2);
}
//比较
//在这种情况下,t1也可以为null,不会引起问题
if(t1 == Tutorials.TOPIC_1) {
System.out.println("t1 = TOPIC_1");
}else {
System.out.println("t1 != TOPIC_1");
}
//Comparing using equals() method
//在这种情况下,t2不能为空。这会导致
//空指针异常
if(t2.equals(Tutorials.TOPIC_2)) {
System.out.println("t2 = TOPIC_2");
}else {
System.out.println("t2 != TOPIC_2");
}
Tutorials t4 = null;
//Comparing using equals() method
//以null安全的方式
if(Tutorials.TOPIC_3.equals(t4)) {
System.out.println("t4 = TOPIC_3");
}else {
System.out.println("t4 != TOPIC_3");
}
}
}输出结果
TOPIC_1 completed before TOPIC_2 t1 = TOPIC_1 t2 = TOPIC_2 t4 != TOPIC_3
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短