用枚举代替单例模式
高效而且安全
public enum Singleton { SINGLETON; public String say(){ return "hello"; } public static void main(String[] args) { String s = SINGLETON.say(); System.out.println(s); } }
用枚举代理int常量
清晰而且安全
public class Demo01 { public static void main(String[] args) { System.out.println(APPLE1.getAge()); } } class Fruit{ public static final int APPLE1 = 1; public static final int APPLE2 = 2; public static final int PEAR1 = 1; public static final int PEAR2 = 2; } enum Apple { APPLE1(1), APPLE2(2); private int age; public int getAge() { return age; } private Apple(int age) { this.age = age; } } enum Pear { PEAR1(1), PEAR2(2); private int age; public int getAge() { return age; } private Pear(int age) { this.age = age; } }
用枚举代替各种状态
清晰,高效,安全
public enum EntryStatus implements DescEnum { INIT(0,"初始"), VALIDATED(1, "已生效"), NOTPASSED(2,"审核未通过"), ; private int code; private String desc; EntryStatus(int status,String desc) { this.code = status; this.desc = desc; } @Override public int getCode() { return code; } public void setCode(int code) { this.code = code; } @Override public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } }