enum类自定义属性

这就是enum比static静态变量好用的地方了,可以赋予每一个枚举值若干个属性,例如

实例1:

public enum GasStationChannel {
ZH("中化", "100001"),
APP("APP", "100002"),
QZ("撬装", "100003"),
ZYW("找油网", "100004"),
YZG("油掌柜", "100005"),
YZX("油战线", "100006"),
SHELL("壳牌", "100007"),
CHEBEI("车呗", "100008"),
SHANGAO("山东高速", "100009"),
GUANDE("冠德", "100010"); private String name;
private String code; GasStationChannel(String name, String code) {
this.name = name;
this.code = code;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getCode() {
return code;
} public void setCode(String code) {
this.code = code;
} public static GasStationChannel parse(String code) {
if(code==null){
return null;
}
for (GasStationChannel channelType : GasStationChannel.values()) {
if (channelType.getCode().equals(code)) {
return channelType;
}
}
return null;
} @Override
public String toString() {
return "name:"+this.name+",code:"+this.code;
}}

 实例2:

public enum Domain {

    XB("11","西北"),
HD("13","华东"),
DB("14","东北"),
HB("15","华北"); private String code;
private String name; Domain(String code,String name) {
this.code = code;
this.name = name;
} public String getCode() {
return code;
}
public String getName(){
return name;
} /**
* 根据domain code,返回枚举类型
*/
public static Domain getDomain(String code) throws Exception { Domain domain = null;
switch (code.trim()) {
case "11":
domain = XB;
break;
case "13":
domain = HD;
break;
case "14":
domain = DB;
break;
case "15":
domain = HB;
break;
default:
throw new Exception(String.format("传入的域ID[%s]不存在,请检查!", code));
}
return domain;
}
}

  以上两种都能实现,根据个人喜好选择,个人更倾向于实例1,代码结构更优美

java enum类自定义属性的更多相关文章

  1. java enum类探索

    参考网址1, 参考网址2 一直对枚举有点迷惑,现在试着理解枚举. 1.首先,普通类与枚举 的区别.拿两个例子比较吧 普通类: /** * 一个普通类 * @author Administrator * ...

  2. java enum类

    1.可以在enum中添加变量和方法 先来看一段代码示例: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...

  3. java 枚举类小结 Enum

    好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...

  4. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  5. Java Enum 枚举类的values方法

    Enum类和enum关键字定义的类型都有values方法,但是点进去会发现找不到这个方法.这是因为java编译器在编译这个类(enum关键字定义的类默认继承java.lang.Enum)的时候 自动插 ...

  6. Java 基础复习 -- Enum 类

    一.枚举类基本语法 在 Java SE5 中添加了一个看似很小的特性,即 enum 关键字,它使得我们在需要群组并使用枚举类型集时,可以很方便的处理. 所有的 enum 都继承自 java.lang. ...

  7. 如何使用Java中的Enum类

    Java1.5 中出现了枚举类型.当一个值都在一个固定的范围内变化,那就可以使用 enum 类型来定义.比如说,一周有七天,一年有四季. 没有枚举类的时候,我们用常量来定义一组范围值的: public ...

  8. java enum(枚举)使用详解 + 总结

    enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结,主要包括如下内容: 1. 原始 ...

  9. java enum的用法

    原始的常量定义: public static fianl MON=“Mon”; public static final TUE="Tue"; 语法(定义) 创建枚举类型要使用 en ...

随机推荐

  1. springboot 静态资源访问,和文件上传 ,以及路径问题

    springboot 静态资源访问: 这是springboot 默认的静态资源访问路径  访问顺序依次从前到后(http://localhost:8080/bb.jpg) spring.resourc ...

  2. 【论文学习】Is the deconvolution layer the same as a convolutional layer

    结合上升采样upsample和卷积操作.Sub-piexl convolution. Efficient Sub-pixel-convolutional-layers. LR network,即低分辨 ...

  3. vsCoad设置代码自动换行

  4. js复选框实现全选、全不选、反选

    复选框为checkbox对象 通过input就可以将一个简单的复选框呈现在页面上 <input type="checkbox" /> 要实现的大概就是这样一个页面 思路 ...

  5. AutoMapUtility

    实体属性自动映射,支持对象间属性值复制和List复制 安装 Install-Package AutoMapUtility -Version 1.0.2 https://github.com/leopa ...

  6. Jmeter设置字体大小

    Jmeter5.0原配置字体很小,需要更改其配置 在apache-jmeter-5.0/bin/下的jmeter.properties文件中添加如下内容: jmeter.hidpi.mode=true ...

  7. 互斥锁lock、信号量semaphore、事件Event、

    1.互斥锁lock 应用在多进程中互斥所lock:互斥锁是进程间的get_ticket互相排斥进程之间,谁先枪占到资源,谁就先上锁,等到解锁之后,下一个进程在继续使用.# 语法: 上锁: lock.a ...

  8. 《计算机系统要素》第四章 类汇编语言 Hack

    这章通过学习书中自己设计的Hack语言的使用,弄懂汇编语言的工作原理. 汇编语言最接近底层了,因为每个指令对应一个二进制编码. 当这些指令都变成...0101011100101...的形式后,内存Me ...

  9. 一百二十二:CMS系统之页面抽离和登录页面

    将登录和注册需要的共性标签抽离出来做父模板 将css改名为base base模板 {% from 'common/_macros.html' import static %}<!DOCTYPE ...

  10. Oracle 本地创建多个实例并创建多个监听(只能在服务端弄,不可在客户端)

    注意:监听必须在客户端创建,在客户端创建,会报错. 1.创建监听 通过 Net Configuration Assistant  创建监听,设置端口: 注意:此监听创建完后,服务列表里面并没有此服务的 ...