Enum枚举

序言

关于枚举,相信都学过,它是Java中一种特殊的类,可是总没遇到多少实际用途。总的来说,枚举类的必要是什么,我在开发中遇到的问题就是,枚举最大的用途就是,限制我们某个参数的定义。在实际开发中,有一些特殊参数的类型,大家都公用的参数,那么我们就不能随便设定。这时,就可以使用Enum来定义我们的参数。

一般使用


public enum EnumDemo2 {
    A,
    B,
    C;
}


----------
System.out.println(EnumDemo2.A);
//输出
A

Process finished with exit code 0

构造参数用途

public enum EnumDemo2 {
    NOT_FOUND(402),//找不到文件错误码
    NOT_JSON(405),  //找不到json错误码
    ERROR(500);   //系统错误码

    private int value;

    public int getValue() {
        return value;
    }

    private EnumDemo2(int value){
        this.value = value;
    }

}


----------
 System.out.println(EnumDemo2.NOT_FOUND.getValue());
 //输出
 402

Process finished with exit code 0

这下是不是感觉枚举原来可以这样用啊

测试类

/**
 * enum
 *
 * @Author 佘浩然
 * @Package Enums
 * @create 2017-07-28 16:42
 */

public class EnumDao {

    public static void EnumGenter(EnumDemo2 enumDemo2){
        System.out.println("测试枚举");
    }
}

这里写图片描述

如果不出入枚举里面的参数,会不行,这像不像我们在设置状态码的时候,

这里写图片描述

实现接口或者抽象方法等

public enum EnumDemo2 {
    NOT_FOUND(402){
        public String toJson(){
            return "402错误码";
        }
    },
    NOT_JSON(405){
        public String toJson(){
            return "405错误码";
        }
    },
    ERROR(500){
        public String toJson(){
            return "500错误码";
        }
    };

    private int value;

    public  abstract  String toJson();
    public int getValue() {
        return value;
    }

    private EnumDemo2(int value){
        this.value = value;
    }

}


----------
System.out.println(EnumDemo2.NOT_FOUND.toJson());

//console
402错误码

Process finished with exit code 0

总结

1.枚举作为一种特殊的Java类,可以使用构造函数,但是必须为private,方法,属性等
2.常用的方式是,作为我们的参数限制类型。如错误码等规定
3.switch()中也支持枚举类型,不过是在JDK1.5后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值