Java 列舉(enum)

潘佳琦發表於2019-01-19

列舉 宣告

package com.mengyunzhi.common.entity.nationalApi;

/**
 * 預約狀態程式碼
 * @author: panjiaqi
 */
public enum reservationStatusCode {
    CHECK_STAY_SUBMISSION("待提交", (short)1),
    CHECK_ALERADY_SUBMISSION("已提交(待分配)", (short)2),
    CHECK_APPOINTMENT("預約中(待預約)", (short)3),
    CHECK_PENDING_FEEDBACK("待反饋", (short)4),
    CHECK_FEEDBACK("已反饋(待受理)", (short)5),
    CHECK_ADMISSIBLE("已受理(待檢定)", (short)6),
    CHECK_ALREADY_CHECKED("已檢定(檢定完成)", (short)7),
    CHECK_RESERVATION_FAILURE("預約失敗", (short)8);

    private Short id;
    private Short code;     // 程式碼
    private String name;    // 名稱

    reservationStatusCode(String name, Short code){
        this.name = name;
        this.code = code;
    }

    public Short getId() {
        return id;
    }

    // 設定id的時候,將code同時設定上
    public void setId(Short id) {
        this.id = id;
        this.code = id;
    }

    public Short getCode() {
        return code;
    }

    // 設定code的時候,將id同時設定上
    public void setCode(Short code) {
        this.code = code;
        this.id = code;
    }

    public String getName() {
        return name;
    }

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

使用列舉建立實體的時候也不知道列舉是個啥,只是按照樸世超組長給的例子照著敲程式碼,之後自己Google了一下發現列舉有多用法Java列舉7種常見的用法

概念

enum 的全稱為:enumeration

列舉的好處:可以將常量組織起來,統一進行管理。

列舉的典型應用場景:錯誤碼、狀態機等。

儘管 `enum` 看起來像是一種新的資料型別,事實上,`enum` 是一種受限制的類,並且具有自己的方法。

列舉方法

enum中,提供了一些基本方法:

values():返回 enum 例項的陣列,而且該陣列中的元素嚴格保持在 enum 中宣告時的順序。

name():返回例項名。

ordinal():返回例項宣告時的次序,從0開始。

getDeclaringClass():返回例項所屬的 enum 型別。

equals() :判斷是否為同一個物件;可以使用 == 來比較 enum 例項。

總結

通過各種資料,簡單的瞭解了一下列舉,對列舉只是有了個概念的瞭解,但是具體還是不知道是幹嘛的,只知道如果變更需求時可以更快的去修,因為都是引用的列舉,修改時修改列舉就可以了。

使用列舉建立實體是隻知道套用例子

相關文章