编写高质量代码:改善Java程序的151个建议 勘误 [不断更新]

最近在读这本书,不可否认是本好书,不过错误难免,对于书中的一些有所异议,所以记录在案,仅供参考:


1   20条建议: 34页, 什么会编译进CLASS, 笔者说是final基本类型或者string,其实不全面也不正确: 第一:必须要是常量表达式赋值,即不能是null或者其他类方法返回的值,参加JAVA解惑:类的战争;比如String x=OtherClass.Str; 而OtherClass.Str=null的时候,不会编译进去; 第二: 基本类型假设在方法内,不管用不用final都能编译进去。 笔者的意思可能是final基本类型成员变量可以编译进常量池而已。

2  38条建议,63, 既然说分为2类:静态内部类和内部类,那么按照这里推理:普通内部类包含成员内部类+局部内部类+匿名内部类;

那么后文说普通内部类含有外部类引用就不准确了,   因为局部类和匿名内部类不需要含有外部类引用。

参考Effective java的分类个人觉得很标准:

嵌套类(nested class):静态成员类(static member class),非静态成员类(nonstatic member class),匿名类(anonymous class),局部类(local class),后三种统称为内部类(innner class).

3   69条建议: 116 , vectory->vector

 

5  94条建议;170 创建泛型数组也可以(E[])new Object[5],不定非要传入类型参数E的CLASS, 因为实际上数组底部是OBJECT数组的话,通吃所有类型数组;传入CLASS参数,然后ARRAY.NEW出来的还是需要类型转化,唯一有点区别的就是一个底部是通吃的OBJECT数组,一个是对应的类型的数组。从外面看没有区别。

6 102条建议: 182, m2变量的getDeclaredMethod()应该是getMethod(),表述反了。


8 137条建议:266  小标题(1)调整堆内存大小,应该去掉“堆”,因为下面也讲了栈内存调整。

9 100条建议: 180, 中间//表明类型和实际类型应该都是Object数组。不是String数组



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值