一个task 需要对对8个元件页面显示字段的值进行格式化输出。
例如:valid:0 无效 ,1 有效 ;swidth:0 关 ,1 开 ;stop :0 停用 ,1 运行
通常我们会想到用static final ,如下
package cn.com.ld.enumpractise;
public class StaticConstants {
// @Fields SWITCH_OFF : 开
public static final int SWITCH_OFF = 0;
// @Fields SWITCH_ON : 关
public static final int SWITCH_ON = 1;
// @Fields VALID_FLASE :无效
public static final int VALID_FLASE = 0;
// @Fields VALID_TRUE : 有效
public static final int VALID_TRUE = 1;
// @Fields STOP_NO : 停用
public static final int STOP_NO = 0;
// @Fields STOP_YES : 运行
public static final int STOP_YES = 1;
}
虽然用常量可以标识一些字段的固定值,但是对于格式化输出就困难了,页面拿到的不是0,就是1,所以要做一些判断才能确定到底是那个字段的格式化输出。
为了能让常量拥有更多的语义,更便于格式化输出,便想起了枚举。把枚举当做常量来用,就省去了很多的逻辑判断。
package cn.com.ld.enumpractise;
public enum EnumConstants {
SWITCH_OFF(0, "OFF"), SWITCH_ON(1, "ON"), VALID_FALSE(0, false), VALID_TRUE(
0, true), STOP_NO(0, "NO"), STOP_YES(1, "YES");
private int key;
private Object value;
private EnumConstants(int key, Object value) {
this.key = key;
this.value = value;
}
public static void main(String[] args) {
for (EnumConstants constant : EnumConstants.values()) {
System.out.println("constant.name:" + constant + " key:"
+ constant.key + " value:" + constant.value);
}
}
}
枚举既可以返回常量的名称 可以返回常量的value ,或是value的一个格式化内容,语义更强。 而且枚举是一个class ,有更强的表现力。
分享到:
相关推荐
static_enum::enum_cast可以像static_cast一样用于将枚举转换为字符串或从枚举创建字符串 static_enum::to_string从枚举变量获取名称,返回constexpr std::optional static_enum::from_string从字符串中获取枚举...
php-enum, PHP Enum实现灵感来自 SplEnum PHP enum 实现来自 SplEnum 为什么?首先,SplEnum 并不集成到PHP中,你必须单独安装它。使用 enum 而不是类常量提供了以下优点:你可以键入提示: function setAction(Ac
目录介绍特征安装用法设置一个MappedValueRepresentable枚举使用MappedValueCollectionRepresented 使用MappedEnum类型的可编码枚举在ESet中使用OptionSet中的EnumSet 将EnumSet转换为Enum数组使用...
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是... 以前我们定义一个常量通常都是使用 public static final …… 定义的,如下面: public static final CON
Enum.doc Enum.docEnum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc Enum.doc
Java1.5提供了关键字enum,能够通过该关键字方便得定义自己须要的枚举类型,比方 enum Season { SPRING, SUMMER, AUTUMN, WINTER } 定义了一个季节枚举类型。 在本例中,对于Season.SPRING这个...
Enum的用法Enum的用法Enum的用法Enum的用法
常见的enum类型重定义的解决方法,清晰明了。
博文“Java 语言中 Enum 类型的使用介绍”的源码。
用于枚举磁盘设备的 Enumdisk 示例
Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类Java SE程序 Enum枚举类...
enum测试代码
一个分析 enum 结构分析 源码资源
简单介绍了DNS和ENUM的原理及在IMS网络中的使用
Laravel开发-enum PHP的枚举实现
java enum详细教程。由浅入深,包括基本语法方面..很适合新手学习。/n各位看官。绝对超值。
1、用enum关键字说明常量(即说明枚举常量)有以下几点好处: (1) 使程序更容易维护和直观。例如,下面定义的枚举是描述UART支持的传输bit位数,从枚举类型的定义就可以知道UART模块提供的传输bit的几种模式。 ...
enum枚举的方法
Java中的Enum的使用与分析
enum.docx ,详细介绍了enum的用法,枚举用法在c#中比较常见,希望会有帮助哦