使用枚举常量代替接口常量或类常量(一个枚举实例)
来源:互联网 发布:炒石油软件 编辑:程序博客网 时间:2024/05/16 15:29
枚举类:
/** * @Description: 颜色枚举类,所有枚举类默认继承public abstract class Enum */public enum EnumColor { //定义枚举,以静态常量的方式进行定义,并以静态方式[枚举类.实例名]来获取实例对象,如[EnumColor.RED] //使用的是EnumColor(int code,String color)构造函数 //最后两个使用的是EnumColor(String color)构造函数 RED(1,"红色"), GREEN(2,"绿色"), BLANK(3,"白色"), YELLO(4,"黄色"),BLUE("蓝色"),BLACK("黑色"); //声明的枚举属性,同时生成getter方法 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; }}
枚举测试类:
/** * @Description: 枚举测试类 */public class EnumTest { 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)); }}
输出结果:
[code:1,color:红色]2绿色3白色黄色
0 0
- 使用枚举常量代替接口常量或类常量(一个枚举实例)
- 项目代码优化:使用Java枚举常量代替类常量
- 常量接口 vs 枚举常量类
- 常量接口 vs 枚举常量类
- 常量接口 vs 枚举常量类
- 使用枚举代替常量,简化工作!
- 接口中的常量,枚举
- 使用枚举类定义常量
- 使用枚举定义常量
- 枚举常量
- 枚举常量
- 枚举常量
- 枚举常量
- 接口(类)常量与枚举常量的区别
- 枚举类和常量
- 定义常量方式(类,接口,枚举)
- JAVA中常量使用常量类或者常量接口,还是使用枚举的区别
- Java枚举常量的使用
- 中断处理过程
- 处理器访问内存时,CPU核、cache、…
- 自定义View引用不到属性容易忽略的问题
- Gradle和Maven区别(转自zhihu
- 什么是P问题、NP问题和NPC问题
- 使用枚举常量代替接口常量或类常量(一个枚举实例)
- java整型byte,short,int,long取值范围大小
- PYTHON自学笔记1
- 打开unity突然报错unity license error
- 安装五笔输入法
- java正则校验,密码必须由字母和数字组成
- 51单片机的定时器延时计算
- 在studio中png图片异常导致的错误
- iOS 动态更新方案对比:JSPatch vs React Native