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(枚举)使用详解 + 总结

原文地址:https://www.cnblogs.com/merray/p/3683162.html