使用枚举(emum)代替常量类
原文:
作者:逍遥不羁
来源:CSDN
原文:https://blog.csdn.net/javaloveiphone/article/details/52371706
版权声明:本文为博主原创文章,转载请附上博文链接!
package emum; /**
* @Description: 颜色枚举类,所有枚举类默认继承public abstract class Enum
*/
public enum EnumColor {
RED(1, "红色"), GREEN(2, "绿色"), BLANK(3, "白色"), YELLO(4, "黄色"), BLUE("蓝色"), BLACK("黑色"); private int code;
private String color; // 构造函数
private EnumColor(int code, String color) {
this.code = code;
this.color = color;
} private EnumColor(String color) {
this.color = color;
} // 枚举属性的getter方法
public int getCode() {
return code;
} public String getColor() {
return color;
} // 重写toString()方法
@Override
public String toString() {
return "[code:" + this.code + ",color:" + this.color + "]";
} // 提供静态方法,通过code获取color的值
public static String colorOf(int code) {
// EnumColor.values()获取枚举所有实例对象,还有通过名称获取方式EnumColor.valueOf("RED")、EnumColor.valueOf(EnumColor.class,
// "RED")
// 遍历枚举所有实例对象
for (EnumColor color : EnumColor.values()) {
if (color.getCode() == code) {
return color.getColor();
}
}
return null;
} public static void main(String[] args) {
// 通过静态方式直接获取枚举实例对象,打印实例对象自动调用toString()方法
System.out.println(EnumColor.RED); // 获取实例对象之后,获取相关属性信息
System.out.println(EnumColor.GREEN.getCode());
System.out.println(EnumColor.GREEN.getColor()); // 通过valueOf()方法获取枚举实例对象,并获取对象相关信息
System.out.println(EnumColor.valueOf("BLANK").getCode());
System.out.println(EnumColor.valueOf(EnumColor.class, "BLANK").getColor()); // 通过自定义的静态方法colorOf(int code)获取color信息
// YELLO(4,"黄色")
System.out.println(EnumColor.colorOf(4)); } }
处理结果
使用枚举(emum)代替常量类的更多相关文章
- java常量类的实现方式_枚举类_项目实践
前言 众所周知,系统里有很多比如订单状态.审核状态:性别.结算方式.交易类型等属性,这些属性只有几个值,一般用0.1.2.3等的数字标识存入数据库,每次对这些属性所属对象的增删改操作,都会在代码里给状 ...
- java枚举与常量类的区别
1)枚举型可以直接与数据库打交道,我通常使用varchar类型存储,对应的是枚举的常量名.(数据库中好像也有枚举类型,不过也没用过) 2) switch语句支持枚举型,当switch使用int.Str ...
- 苹果新的编程语言 Swift 语言进阶(七)--枚举、结构、类
Swift语言中,具有类特征的类型包括三种,即枚举类型.结构类型(包括基本类型,基本类型实际都是结构类型的特例).类.其中枚举类型.结构类型是属于值类型,类属于引用类型.三种类型都可以添加属性.方法. ...
- c++学习笔记——字面值常量类
字面值常量类:数据成员都是字面值类型的聚合类是字面值常量类.如果一个类不是聚合类,但是它符合一下要求,则它也是个字面值常量类: 1.数据成员都必须是字面值类型. 2.类必须至少含有一个constexp ...
- MinerConstanits.java 常量类
MinerConstanits.java 常量类 package com.iteye.injavawetrust.miner; /** * 常量类 * @author InJavaWeTrust * ...
- Java中由常量类引发的思考
我们都知道,定义一个常量类是十分简单的.首先差固件一个类,然后类中声明一些public修饰的静态常量.没错就这么简单: 写好之后,在其他地方使用的时候,直接类名.属性名就可以使用了. 而LZ现在想的是 ...
- java常量类编译问题
常量类编译后并不在.class文件中呈现,取而代之的是各个具体的常量.例如: 编译前:(Constant.OPTIONSRADIO常量值为1) 编译后: 应用场景 1,项目编译后发布项目前可以删除常量 ...
- java时间处理--持续时间格式化工具和常量类DurationFormatUtils
阅读目录 DurationFormatUtils类简介 maven地址 构造方法 DurationFormatUtils() formatDurationHMS(long durationMillis ...
- AD属性常量类
参考:http://www.selfadsi.org/user-attributes.htm namespace Common { /// <summary> /// AD中的属性,没有出 ...
随机推荐
- 关于ArcGis for javascrept查询ArcGis server图层信息的方式
方式一: queryTask方式: 该方式用于单个图层的条件查询(不能跨图层查询) 1. 创建query对象 query = new esri.tasks.Query(); 2. 给query对象设置 ...
- bzoj 2783: [JLOI2012]树【树上差分】
注意是等于s不是大于s dfs,用set或者map存这条链到root的点权和sum[u],更新答案的时候查一下有没有s-sum[u]即可 #include<iostream> #inclu ...
- 原生JavaScript之深度克隆
先看一下克隆成功后的结果 深度克隆就是将obj的属性克隆到obj1上面,并且在obj上面修改属性不影响obj1上面的属性. 1.先把所有的值都遍历一遍(看是引用值和原始值)用for ( var pro ...
- HDU 1524
思路: 算出来每个点的sg值,然后对于每个询问xor一下 //By SiriusRen #include <cstdio> #include <vector> using na ...
- 窗口Dialog
Dialog是窗口的意思,它是Window的子类.与frame相比,frame是我们大的窗口,而dialog便是那种弹出来和你说话的对话框. Dialog类的默认布局是BorderLayout Dia ...
- android开发学习 ------- 弹出框
这是一种方法,是我觉得简单易懂代码量较少的一种: /* 创建AlertDialog对象并显示 */ final AlertDialog alertDialog = new AlertDialog.Bu ...
- (五)Mybatis总结之一对多、一对一
一对多 业务场景:张三既是java开发师又是大学老师又是LOL代练,张三拥有多个角色. 1.创建实体类UserInfo和RoleInfo package com.qf.mybatisdemo.pojo ...
- Java字符串操作方法集
常用Java字符串操作方法 String s="Hello" String s2="World" 操作 方法 使用方法 结果 字符串截取 substring ...
- RequireJS 上手使用
首先 点击此处 得到requirejs. 捣鼓了俩小时终于运行成功了,原因是因为require(['我是空格underscore',...],function(){...})的时候 变量多个空格(坑爹 ...
- 习水医院12C RAC 数据库安装文档
环境介绍 OS: Oracle Enterprise Linux 6.4 (For RAC Nodes) DB: GI and Database 12.1.0.2 所需介质 p17694377 ...