Android筆記:java 中的枚舉


部分數據使用枚舉比較方便,java中的enmu不如c#中使用方便 記錄備忘

以c#中的代碼為例

 public enum PlayState
    {
        /// <summary>
        /// 關閉
        /// </summary>
        Closed = 0,

        /// <summary>
        /// 播放
        /// </summary>
        Playing = 1,

        /// <summary>
        /// 隨聽
        /// </summary>
        Listening = 2,

        /// <summary>
        /// 暫停
        /// </summary>
        Paused = 3,
    }

 

轉換成java 是不可以直接轉換的 最接近的是接口常量的寫法

public interface PlayStateInf {
    // / <summary>
    // / 關閉
    // / </summary>
    int Closed = 0;

    // / <summary>
    // / 播放
    // / </summary>
    int Playing = 1;

    // / <summary>
    // / 隨聽
    // / </summary>
    int Listening = 2;

    // / <summary>
    // / 暫停
    // / </summary>
    int Paused = 3;

}

比較相似的寫法--interface

public interface PlayStateInf {
    // / <summary>
    // / 關閉
    // / </summary>
    int Closed = 0;

    // / <summary>
    // / 播放
    // / </summary>
    int Playing = 1;

    // / <summary>
    // / 隨聽
    // / </summary>
    int Listening = 2;

    // / <summary>
    // / 暫停
    // / </summary>
    int Paused = 3;

}

java中的enmu實現 需要自定義轉換

public enum PlayState {
    // 利用構造函數傳參
    Playing(1), Closed(0), Listening(2), Paused(3);

    // 定義私有變量
    private int value;

    // 構造函數,枚舉類型只能為私有
    private PlayState(int _value) {
        this.value = _value;
    }

    @Override
    public String toString() {
        return String.valueOf(this.value);// 轉換到字符串
    }

    public int value() {
        return this.value;
    }

}

 

 語法參考:java enum(枚舉)使用詳解 + 總結

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM