effective Java读书笔记-通用程序设计

来源:互联网 发布:健身房健身计划软件 编辑:程序博客网 时间:2024/05/07 16:24

最近继续在翻阅《Effective Java》,这是一本java的经典书籍,需要好好研究研究,现记录一些自己学到的新知识点。

1.for-each循环优先于传统的for循环

java 1.5发行版本以前遍历的做法:

for(Iterator i = c.iterator;i.hasNext();){    doSomething((Element)i.next);}

java 1.5发行版本引入for-each循坏,通过完全隐藏迭代器或者索引变量,避免了混乱和出错的可能。

for(Element e: elements){    doSomething(e);}

优点主要是简单,不容易出错。也避免复制粘贴的低级错误。

2.了解和使用类库

很多方法和问题基本类库都有相应的实现,不要自己重复造轮子。必须了解的类库有:
- java.lang
- java.util
- java.io
- java.util.concurrent 并发实用工具类

3.当心字符串连接的性能

字符串连接操作符(+)是把多个字符串合并为一个字符串。连接n个字符串而重复地使用字符串连接操作符,需要n的平凡级的时间。当两个字符串被连接在一起时,他们的内容都要被拷贝。

public String statement(){    String result = "";    for (int i=0;i<100;i++){        result += lineForItem(i);    }    return result;}

如果项目数量巨大,为了获得更好的性能,请使用StringBuilder替代String:

public String statement(){    StringBuilder b = "";    for (int i=0;i<100;i++){        b.append(lineForItem(i));    }    return b.toString();}

4. 谨慎地进行优化

要努力编写好的程序而不是快的程序。

5. 返回0长度的数组或者集合,而不是null

好处是避免每一处调用的地方都判断一次null,这样做很容易出错。

原创粉丝点击