枚举类的使用

 

1.枚举类的实现

public enum LoanInformationEntryEnum {
    /**
     * 待分配.
     */
    WAIT_ASSESS("1", "待分配"),
    /**
     * 评估中.
     */
    IN_ASSESS("2", "评估中"),
其余省掉

  

2.类的方法

(就是直接可以类名.方法名调用的)valueOfvalues

valueOf方法根据字符串判断有没有对应的枚举实例(可以只有用的)没有抛出异常   

     

 

try{
// 判断建值是否存在
LoanInformationEntryEnum.valueOf(entry.getKey());

} catch (IllegalArgumentException e) {
Log.info("这个不是单选");
}

  

values方法取得所有枚举实列数组,可以实现遍历

            for(LoanInformationEntryEnum loanInformationEntryEnum:LoanInformationEntryEnum.values()){
                
            }

3.对于枚举实例有4个方法

ordinal 返回values()的到的数组的下标

name 返回实例名字

toString  不重写与name方法相同,返回实例名字

compareTo values()的到的数组的下标相互比较大小,大返回1,小返回-1

 

    public static void main(String[] args) {
        System.out.println(LoanInformationEntryEnum.loan_supplement_0002.ordinal());
        System.out.println(LoanInformationEntryEnum.loan_supplement_0002.name());
        System.out.println(LoanInformationEntryEnum.loan_supplement_0002.toString());
        System.out.println(LoanInformationEntryEnum.loan_supplement_0004.compareTo(LoanInformationEntryEnum.loan_supplement_0002));
    }

 

  结果

0
loan_supplement_0002
loan_supplement_0002
1

 

4.注意枚举类不能被继承

枚举类使用enum定义后在编译后默认继承了java.lang.Enum类,而不是普通的继承Object类。enum声明类继承了SerializableComparable两个接口。且采用enum声明后,该类会被编译器加上"final"声明(同String

posted @ 2020-11-06 16:42  24601  阅读(100)  评论(0编辑  收藏  举报