java枚举

首页

Java枚举

简单使用,没有枚举之前,可以在类中定义final变量,通过类来引用。有了枚举后,可以定义枚举类。

public enum Day {
    MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY
}
    public static void main(String[] args) {
        Day monday = Day.MONDAY;
        Day friday = Day.FRIDAY;
        //枚举类默认有如下方法
        /**
         * 对比方法
         */
        System.out.println(monday.compareTo(friday));
        /**
         * 相同比较
         */
        System.out.println(monday.equals(friday));
        /**
         * 获取枚举类的class对象
         */
        System.out.println(monday.getDeclaringClass());
        /**
         * 枚举常量名称
         */
        System.out.println(monday.name());
        /**
         * 枚举常量的序数
         */
        System.out.println(friday.ordinal());
        /**
         * 枚举常量的名称
         */
        System.out.println(monday.toString());
        /**
         * 返回枚举常量
         */
        Day day = Day.valueOf("MONDAY");
    }

默认的values()和valueOf方法,values方法用于获取枚举所有值,valueOf方法获取单一枚举值

    public static void main(String[] args) {
        Day[] values = Day.values();
        Arrays.stream(values).forEach(System.out::println);
        Day monday = Day.valueOf("monday");
        System.out.println(monday);
    }

带参数枚举

上面是简单枚举的用法,枚举中可以设置参数,参数设置以后,枚举的构造函数必须要进行同步修改。参数也可以通过get方法进行获取,还可以重写toString方法

public enum Day {
    MONDAY("周一"), TUESDAY("周二"), WEDNESDAY("周三"), THURSDAY("周四"), FRIDAY("周五"), SATURDAY("周六"), SUNDAY("周日");
    private String desc;

    Day(String desc) {
        this.desc = desc;
    }

    public String getDesc() {
        return desc;
    }

    @Override
    public String toString() {
        return "Day{" +
                "desc='" + desc + '\'' +
                '}';
    }
}

    public static void main(String[] args) {
        Day[] values = Day.values();
        Arrays.stream(values).forEach(System.out::println);
        Day monday = Day.valueOf("MONDAY");
        System.out.println(monday.getDesc());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值