Enum 枚举类 --基本应用

Enum 全称 Enumeration ,是Java中 在jdk5之后引入的一种类型,在Java开发中,有着广泛的使用(见识了公司的实际项目后感触颇深),在对于编码、类别、形式等列举式的数据很适用;


Enum 枚举类与普通class 没有什么不同 , 只是声明的时候类型为 enum , 枚举类也可以有它的 属性 方法 实现接口,但不同的是,所有枚举类都继承了 Java.lang.Enum父类,所以不能再 继承其他类;

自有的常用方法 : 

T[] values()   返回该枚举的所有值

int ordinal()  返回枚举的 序数  即其所在的位置

Demo 1:

package enumeration;

/**
 * Created by liuyuanju1 on 2017/9/4.
 */
public enum SimpleEnum {
    MON,TUE,WED,THU,FRI; //这里相当于声明了 五个类型为 SimpleEnum的 枚举类

    public static void main(String[] args) {

        for(SimpleEnum e : SimpleEnum.values()){ 
            System.out.println(e.toString());
        }

        System.out.println("----------------------");

        System.out.println("MON 的序数为 :" + SimpleEnum.MON.ordinal()
            +  "名称是 :" + SimpleEnum.MON.name()
        );

        System.out.println("----------------------");

        SimpleEnum demo = SimpleEnum.MON;
        switch (demo){
         //枚举类可以用在对一些固定值得 switch的遍历中,这种用法 就相当于 设置 静态常量一样,但有很多优点
            case MON :
                System.out.println("Mon");
                break;
            case TUE :
                System.out.println("Fue");
                break;
            case WED :
                System.out.println("Wed");
                break;
            case THU :
                System.out.println("Thu");
                break;
            case FRI :
                System.out.println("Fri");
                break;
        }
    }
}

输出结果:



Demo2: 枚举类 也可以有自己的属性 和方法 ,这一点和普通的class类没有区别

package enumeration;

/**
 * Created by liuyuanju1 on 2017/9/4.
 */
public enum EnumDemo {
    //必须声明一个参数为属性对应类型的构造方法(不能是public)。否则编译器会报undefined 异常
    Vedio(1,"视频"), Audio(2,"音频"), Text(3,"文本");

    int value;
    String name;

    EnumDemo(int value, String name){
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "value : " + this.value + ", name : " + this.name;
    }

    public static void main(String[] args) {
        System.out.println(EnumDemo.Audio.toString());

        for(EnumDemo e : EnumDemo.values()){
            System.out.println(e.value);
            System.out.println(e.name);
        }
    }


}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值