Effective java -- 5 枚举和注解
2017-01-17 09:15
288 查看
第三十条:用enum代替int常量
enum的简单用法。
第三十一条:用实例域代替序数
就是向上面那样将symbol换成一个int类型的值用于标记实例。
第三十二条:用EnumSet代替位域(没用过位域,还不太懂)
第三十三条:用EnumSet代替序数索引
就是告诉别用ordinal()方法,这个基本上对于程序来说没有用。不要将ordernal的方法的返回值作为索引。
EnumMap的用法
和其他类型的map差不多,就是最后需要加上Key.class。
第三十四条:用接口模拟可伸缩的枚举
枚举间不可继承,但是枚举可实现接口。
第三十五条:注解优于命名格式
第三十六条:坚持使用Override注解
第三十七条:用标记接口定义类型
enum的简单用法。
enum Operation { PLUS("+") { double apply(double x, double y) { return x + y; } }, MINUS("-") { double apply(double x, double y) { return x - y; } }; private final String symbol; private Operation(String symbol) { this.symbol = symbol; } @Override public String toString() { return symbol.toString(); } abstract double apply(double x, double y); }
第三十一条:用实例域代替序数
就是向上面那样将symbol换成一个int类型的值用于标记实例。
第三十二条:用EnumSet代替位域(没用过位域,还不太懂)
第三十三条:用EnumSet代替序数索引
就是告诉别用ordinal()方法,这个基本上对于程序来说没有用。不要将ordernal的方法的返回值作为索引。
EnumMap的用法
public enum Phase { SOLID, LIQUID, GAS; public enum Transition { MELT(SOLID, LIQUID), FREEZE(LIQUID, SOLID), BOIL(LIQUID, GAS), CONDENSE(GAS, LIQUID); private final Phase src; private final Phase des; private Transition(Phase src, Phase des) { this.src = src; this.des = des; } private static final Map<Phase, Map<Phase, Transition>> MAP = new EnumMap<Phase, Map<Phase, Transition>>(Phase.class); static { for (Phase phase : Phase.values()) MAP.put(phase, new EnumMap<Phase, Transition>(Phase.class)); for (Transition transition : Transition.values()) { MAP.get(transition.src).put(transition.des, transition); } } } }
和其他类型的map差不多,就是最后需要加上Key.class。
第三十四条:用接口模拟可伸缩的枚举
枚举间不可继承,但是枚举可实现接口。
第三十五条:注解优于命名格式
第三十六条:坚持使用Override注解
第三十七条:用标记接口定义类型
相关文章推荐
- [Effective Java]第六章 枚举和注解
- [Effective Java 读书笔记] 第6章 枚举和注解
- effective java 读书笔记---第六章 枚举与注解
- effective java(枚举和注解)
- 《Effective Java》读书笔记五(枚举和注解)
- [Effective Java]第六章 枚举和注解
- 《 Effective Java》关于泛型,方法和枚举,注解的建议
- 《Effective Java》第6章 枚举和注解
- 【读书笔记】《Effective Java》(5)--枚举和注解
- 《Effective Java》第6章 枚举与注解
- Effective Java 读书笔记(五):枚举和注解
- 《Effective Java》——学习笔记(泛型&枚举和注解)
- android使用注解替代枚举
- 黑马程序员 枚举,注解
- Effective java笔记-第六章 枚举和注解
- 枚举&注解
- Effective Java 阅读笔记——枚举和注解
- 编写高质量代码:改善Java的151个建议七(枚举和注解)83-92
- 枚举注解