Enum类的常用方法

所有枚举类都继承自java.lang.Enum,该类定义了枚举类共用的方法。java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。Enum类常用的方法如下

Enum类的常用方法
方法功能描述
final int ordinal()返回枚举实例值在枚举类中的序号,该序号与声明的顺序有关,计数从0开始
final int compareTo(enumtype e)Enum实现了java.lang.Comparable接口,因此可以用于比较
boolean equals(Object other)比较两个枚举引用的对象是否相等
public String toString()返回枚举实例的名称,一般情况下无需重写此方法,但当存在更加友好的字符串形式时可以重写此方法
public static <T extendsEnum<T>>T valueOf(Class<T> enumType,String name)返回指定枚举类型和指定名称的枚举实例

这里使用上一章定义的枚举类:

public enum SeasonEnum2 {
    //在第一行列出4个枚举实例:春夏秋冬
    SPRING("春"),SUMMER("夏"),FALL("秋"),WINTER("冬");
    //定义一个属性
    private String name;
    //构造方法
    SeasonEnum2(String name){
        this.name = name;
    }
    //方法
    public String toString(){
        return this.name;
    }
}
public class EnumMethodDemo {
    public static void main(String[] args) {
        System.out.println("SeasonEnum枚举类的所有实例值以及顺序号:");
        for (SeasonEnum2 s : SeasonEnum2.values()){
            System.out.println(s + "---" + s.ordinal());
        }
        System.out.println("----------------------------------");
        //声明4个SeasonEnum对象
        SeasonEnum2 s1,s2,s3,s4;
        //赋值
        s1 = SeasonEnum2.SPRING;
        s2 = SeasonEnum2.SUMMER;
        s3 = SeasonEnum2.FALL;
        //调用Enum类的静态方法获取指定枚举类型、指定值的枚举实例
        s4 = Enum.valueOf(SeasonEnum2.class,"FALL");
        //等价于
        //s4 = SeasonEnum2.valueOf("FALL");
        //使用compareTo()进行比较
        if (s1.compareTo(s2) < 0){
            System.out.println(s1 + "在" + s2 + "之前");
        }
        //使用equals()判断
        if (s3.equals(s4)){
            System.out.println(s3 + "等于" + s4);
        }
        //使用==判断
        if (s3 == s4){
            System.out.println(s3 + "==" + s4);
        }
        System.out.println("------------------------");
    }
}

运行结果:

 上述代码中,equals()方法用于比较一个枚举实例值和任何其他对象,但只有这两个对象属于同一个枚举类型且值也相同时,二者才会相等。比较两个枚举引用是否相等时可直接使用“==”。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值