枚舉

1、枚舉類的用法java

1.能夠做爲常量使用,由於常量沒有命名空間,使用起來不是很是清晰,若是使用枚舉類,就能夠清晰地讀懂代碼,代碼可維護性強。數組

2.能夠在switch條件語句中使用,由於String類型不能在switch條件語句中使用,而這時使用枚舉進行條件判斷,就能夠清晰地讀懂代碼,代碼可維護性強。this

2、常見的有兩種建立枚舉方式,一種沒有構造器,一種有構造器的code

1.沒有構造器的建立get

public enum A { 
    	DOG,BAT,CAT,LEFT; 
    	}
調用:
    public static void main(String[] args) {
       A a=A.DOG;
       A b=A.BAT;
       A c=A.CAT;
       A d=A.LEFT;
    	switch (A.BAT) {
		case DOG:
			System.out.println(A.DOG);
			break;
		case BAT:
			System.out.println(A.BAT);
			break;
		case CAT:
			System.out.println(A.CAT);
			break;

		default:
            System.out.println(A.LEFT);
			break;
		}
      	//System.out.println(A.BAT);
	}
輸出結果:
BAT

2.有構造器的建立it

a.一個參數的構造器io

public enum OperationEnum {
        A("+"), B("-"), C("*"), D("/");     
        private String operate;
        
        private OperationEnum(String operate) {
            this.operate = operate;
        }
        private String getOperate() {   
            return operate;
        }
        public static OperationEnum val(String operate) {
            for(OperationEnum s : values()) {    //values()方法返回enum實例的數組
                if(operate.equals(s.getOperate()))
                    return s;
            }
            return null;
        }
    }
調用:
    public static void main(String[] args) {    	
    	OperationEnum operationEnum = OperationEnum.val("+");
    	System.out.println(operationEnum);
    	System.out.println(operationEnum.getOperate());
	}
輸出結果:
A
+

b.有兩個參數的構造器class

public enum EhsEnum {

    EHS_1("01", "查驗"),
    EHS_11("02", "放行");
	
    String message;
    String dec;
//這裏注意構造器裏的參數順序與 EHS_1("01", "查驗") 一一對應,dec》01,message》查驗
    EhsEnum( String dec,String message) {
        this.dec = dec;
        this.message = message;
    }

	public String getDec() {
		return dec;
	}


	public String getMessage() {
		return message;
	}


    public static String valueDec(String value) {
        if (value == null) {
            return null;
        } else {
            for (EhsEnum ehs : EhsEnum.values()) {
                if (ehs.getDec().equals(value)) {
                    return ehs.getMessage();
                }
            }
            return null;
        }
    }
調用:
    public static void main(String[] args) {
    	EhsEnum e =EhsEnum.EHS_1;
    	System.out.println(e.getDec());
    	System.out.println(e.getMessage());
    	
	}
輸出結果:
01 
查驗
}
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息