书里提到的一些有意思的坑_编写高质量代码书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > > 编写高质量代码 > 书里提到的一些有意思的坑
Joker Lee 编写高质量代码 的书评 发表时间:2012-11-14 22:11:12

书里提到的一些有意思的坑

这本书对于我这种从C、C++转过来的野路子Java选手,拿来补漏语言只是还是不错的


判断偶数 i%2==0 因为-1%2=-1而不是1

java里int i = 0; i = i++; 这时i==0,js也是如此。但是C/C++是1

静态简单变量会被直接编译到class文件中,所以更新了一个静态常量,需要重新编译所有引用了这个常量的类(JRebel的更新有这个bug)

四舍五入 银行家舍入 P42

构造代码块 {},在执行每个构造函数前调用(除了有this()调用的构造函数)
匿名类只能使用构造代码快作为构造函数

原始类型数组不能作为Arrays.asList的参数,因为基本类型不能泛型化

ArrayList用下标遍历效率更高(对于大ArrayList尽量不要用foreach语法糖,),LinkedList不要用下标遍历

Collection#addAll 并集
Collection#retainAll 交集
Collection#removeAll 差集

TreeSet在元素改变后不会重新排序

switch枚举需要判断null值

enumset处理小于等于64个值的枚举类型时只需要一个long,大于之后需要用多个long,所以枚举尽量不要超过64个值

调用泛型方法时指定泛型类型 List<Integer> a = Arrays.<Integer>asList(12);

泛型多重界限 <T extends A & B>

不要在finally中处理返回值
不要把异常当作正常逻辑,比如包含判断之类

显示的加锁和解锁必须处理异常,避免因为异常锁一直不释放

google guava工具包 多值Map,字符串joiner
apache collection双向map
Joda日期时间工具包

展开全文
有用 2 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读