05-枚举和注解(34-41)

34. 用 enum 代替 int 常量

int 常量表示枚举类型:

image-20210216223021888

enum 类型表示枚举类型:

image-20210216222828066

35. 用实例域代替序数

永远不要根据枚举的序数导出与它关联的值,而是要将它保存在一个实例域中。

image-20210217110247830

36. 用 EnumSet 代替位域

枚举代替位域:

image-20210217111840506

将 EnumSet 实例传递给 applyStyles 方法:

image-20210217111852171

37. 用 EnumMap 代替序数索引

java.util.EnumMap

image-20210217114440464

38. 用接口模拟可扩展的枚举

image-20210217114842490

39. 注解优先于命名模式

注解很好的解决了命名模式的缺点,比如 @Test 注解就是个经典例子。

40. 坚持使用 Override 注解

该注解可以防止一大类的非法错误。

41. 用标记接口定义类型

标记接口定义的类型是由被标记类的实例实现得到,标记注解则没有定义这样的类型。


05-枚举和注解(34-41)
https://janycode.github.io/2020/09/16/02_编程语言/01_Java/04_EffectiveJava/05-枚举和注解(34-41)/
作者
Jerry(姜源)
发布于
2020年9月16日
许可协议