第6章:枚举和注解
第30条:用enum代替int常量
枚举类型:是指有一组固定的常量组成合法值的类型
枚举提供了编译时的类型安全
枚举是不可变的,因此,所有的域都应该为final的
枚举中的switch语句适合给外部的枚举类型增加特定于常量的行为
第31条:用实例域代替序数
- 永远不要根据枚举的序数导出与它相关的联的值,而是要将它保存在一个实例域中
第32条:用EnumSet代替位域
- 因为枚举用在集合(set)中,所以没有理由用位域代替它
第33条:用EnumMap代替序列索引
- 最好不要用序数来索引数组,而要使用EnumMap
第34条:用接口模拟可伸缩的枚举
操作码:它的元素表示在某种机器上的那些操作,它表示一个简单的计算器中的某些函数
虽然枚举类型是不可扩展的,但是接口类型则是可扩展的
第35条:注解优于命名模式
命名模式的缺点:文字拼写错误会导至失败,且没有任何提示
二:无法确保它们只用于相应的程序元素上
三:它们没有提供参数值与程序元素关联起来的好办法
第36条:坚持使用Override注解
这个注解只能用在方法中声明,它表示被注解的方法声明覆盖了超类型中的一个声明
在要覆盖的超类声明的每个方法中使用Override注解
第37条:用标记接口定义类型
标记接口有两点胜过标记注释:标记接口定义的类型是被标记类的实例实现的,标记注解则没有定义这样的类型
二:它们可以被更加精确的锁定
第7章:方法
第38条:检查参数的有效性
第39条:必要时进行保护性拷贝
第40条:谨慎设计方法签名
谨慎的选择方法的名称
不要过于追求提供便利的方法
避免过长的参数列表
对参数类型,要先使用接口而不是类
第41条:慎用重载
永远不要导出两个具有相同参数数目的重载方法
在定义参数数目不定的方法时,可变参数方法是一种很方便的方式,但是它们不应该被过度滥用,如果使用不当,会产生混乱的结果
第43条:返回0长度的数组或集合,而不是Null
第44条:为所有导出的API元素编写文档注释
必须在每个被导出的类,接口,构造器,方法和域声明之前增加一个文档注释。方法的文档注释应该简洁地描述出它和客户端之间的约定
这三个文档注释时要特别小心:泛型,枚举,注解
为泛型或方法编写文档时,确保要在文档中说明所有的参数类型
为枚举类型编写文档时,要确保在文档中说明常量,以及类型,还有任何公有的方法
为注解类型编写文档时,要确保在文档中说明所有成员以及类型本身
要为API编写文档,文档注释是最好的,最有效的途径
3187

被折叠的 条评论
为什么被折叠?



