1700445769
1700445770
(7)扩展类
1700445771
1700445772
集合类当然可以自行扩展了,想写一个自己的List?没问题,但最好的办法还是“拿来主义”,可以使用Apache的commons-collections扩展包,也可以使用Google的google-collections扩展包,这些足以应对我们的开发需要。
1700445773
1700445774
注意 commons-collections、google-collections是JDK之外的优秀数据集合工具包,使用拿来主义即可。
1700445775
1700445776
1700445777
1700445778
1700445780
编写高质量代码:改善Java程序的151个建议 第6章 枚举和注解
1700445781
1700445782
日光之下,并无新事。
1700445783
1700445784
——《圣经》
1700445785
1700445786
枚举和注解都是在Java 1.5中引入的,虽然它们是后起之秀,但其功效不可小觑,枚举改变了常量的声明方式,注解耦合了数据和代码。本章就如何更好地使用注解和枚举提出了多条建议,以便读者能够在系统开发中更好地使用它们。
1700445787
1700445788
1700445789
1700445790
1700445792
编写高质量代码:改善Java程序的151个建议 建议83:推荐使用枚举定义常量
1700445793
1700445794
常量声明是每一个项目都不可或缺的,在Java 1.5之前,我们只有两种方式的声明:类常量和接口常量,若在项目中使用的是Java 1.5之前的版本基本上都是如此定义的。不过,在1.5版以后有了改进,即新增了一种常量声明方式:枚举声明常量,看如下代码:
1700445795
1700445796
enum Season{
1700445797
1700445798
Spring, Summer, Autumn, Winter;
1700445799
1700445800
}
1700445801
1700445802
这是一个简单的枚举常量命名,清晰又简单。顺便提一句,JLS(Java Language Specification, Java语言规范)提倡枚举项全部大写,字母之间用下划线分隔,这也是从常量的角度考虑的(当然,使用类似类名的命名方式也是比较友好的)。
1700445803
1700445804
可能有读者要问了:枚举常量与我们经常使用的类常量和静态常量相比有什么优势?问得好,枚举的优点主要表现在以下四个方面。
1700445805
1700445806
(1)枚举常量更简单
1700445807
1700445808
简不简单,我们来对比一下两者的定义和使用情况就知道了。先把Season枚举翻写成接口常量,代码如下:
1700445809
1700445810
interface Season{
1700445811
1700445812
int Spring=0;
1700445813
1700445814
int Summer=1;
1700445815
1700445816
int Autumn=2;
1700445817
1700445818
int Winter=3;
[
上一页 ]
[ :1.700445769e+09 ]
[
下一页 ]