最近在Java开发过程中,遇到了Enum类的使用与开发,这里对Java Enum类做一个简单整理,包括创建Enum类的一个模版,以及一些使用的简单批注,方便以后开发使用。
模版
|
|
该模版参考了枚举类 - 廖雪峰的官方网站。
批注
Enum的使用场景
在开发过程中,有时候我们可能需要根据指定的情况构建相对应的处理,对于不同的情况,有不同的处理逻辑。这些情况可能是:根据用户的城市,推送相对应的天气预报;根据不同的策略,通过不同的公式计算返回值。对于这些情况,我们常常会写类似 if (variable == “some string”)
或者 if (variable == 1)
这样的判断,比如说 if (userCity == “Beijing”)
或者 if (strategy == 1)
。
但是这样有一个潜在的问题,无法保证设定的变量值在预期合理的范围内。例如 user_city
被设为 dejwin
无意义的字符串,或者strategy
被设置为 999
超出范围的值。
为了避免这样的问题,我们可以使用 Enum
枚举类,以满足相关变量的合理性。Enum
枚举类变量的取值范围只可能是创建类时候声明的取值。
字段
Enum
类可以添加相关字段,变量加上 final 修饰符,以满足唯一性。另外 Enum
类的构造方法需是 private 的,同样也是为了满足唯一性。
name()方法
通过 name()
方法可以获取 Enum
实例对应的名称。通常用大写加下划线定义 Enum
类的枚举对象, name()
方法返回的是这些定义的大写名称。
toString() 方法
toString()
默认返回与 name()
方法相同的值。可以重写 toString()
方法或者可读性更强的字符串。
与switch条件语句一起配合使用
相较于其它原生变量类型, Enum
类变量是最符合 switch
条件判断场景的变量。下面给出了一个使用模版。
|
|