Android笔记:java 中的枚举

时间:2023-03-09 07:33:15
Android笔记:java 中的枚举

部分数据使用枚举比较方便,java中的enmu不如c#中使用方便 记录备忘

以c#中的代码为例

 public enum PlayState
{
/// <summary>
/// 关闭
/// </summary>
Closed = , /// <summary>
/// 播放
/// </summary>
Playing = , /// <summary>
/// 随听
/// </summary>
Listening = , /// <summary>
/// 暂停
/// </summary>
Paused = ,
}

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