is
zhou

effective java

十二、考虑实现 Comparable 接口

zhouchong阅读(130)评论(0)

考虑实现 Comparable 接口: 和之前提到的通用方法 equals、hashCode 和 toString 不同的是 compareTo 方法属于   Comparable 接口,该接口为其实现类提供了排序比较的规则,实现...

什么时候用抽象类什么时候用接口

zhouchong阅读(186)评论(0)

如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单易行的方法来控制组件版本。通过更新基类,所有继承类都随更改自动更新。另一方面,接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口。   如果创建的功能将在...

十三、使类和成员的可访问性最小化

zhouchong阅读(144)评论(0)

使类和成员的可访问性最小化: 要区别设计良好的模块与设计不好的模块,最重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏其内部数据和其他实现细节。设计良好的模块会隐藏所有的实现细节,把他的api与他的实现清晰地隔离开来。然后,模块之间...

五十一、当心字符串连接的性能

zhouchong阅读(143)评论(0)

字符串连接操作(+)是把多个字符串合并为一个字符串的最为便利的途径。 因此如果仅仅是对两个较小字符串进行一次连接并输出连接结果,这样是比较合适的。然而如果是为 n 个字符串而重复地使用字符串连接操作符,则需要 n 的平方级的时间。这是由于字...

四十五、将局部变量的作用域最小化

zhouchong阅读(146)评论(0)

将局部变量的作用域最小化: 将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。在 C 语言中要求局部变量必须在一个代码块的开头处进行声明,出于习惯,有些开发者延续了这样的做法。这个习惯需要改正, Java 提供了...

二十四、消除非受检警告

zhouchong阅读(162)评论(0)

消除非受检警告 使用泛型进行编程时,会遇到很多编译器警告:非受检强制转换警告,非受检方法调用警告,非受检普通数组创建警告,以及非受检转换警告。当你越来越熟悉泛型之后,遇到的警告也会越来越少。 有些警告很容易消除如: List< Str...

二十三、请不要在新代码中使用原生态类型

zhouchong阅读(166)评论(0)

首先关于编程的基本原则是: 编程的时候,能在编译时发现并修改错误最好,等上线运行时报错才解决,则属于生产事故,且找到bug的位置需要花费更多的时间和精力。 使用泛型的好处: 泛型是java1.5以后出的内容,运用泛型,指定集合中的对象类型 ...