《Effective Java》第八章:通用程序设计
第45条:将局部变量的作用域最小化
将局部变量的作用域最小化,可以增强代码的可读性和可维护性,并降低出错的可能性。
这一条看字面意思应该已经非常明了了,就是教我们在申明局部变量的时候注意其作用域,将其作用域最小化:
- 比如有些判断的变量在
if
语句里面完成就好 - 还有循环里面
for
优于while
,因为for
往往不需要其他的额外局部变量 - 另一种就是使方法小而集中
第46条:for-each循环优先于传统的for循环
利用for-each
循环不会有性能损失,甚至用于数组也是一样的1
2
3
4
5
6
7
8
9
10
11Collection<Integer> c=Arrays.asList(1,2,3);
//普通的for循环
for(Iterator iter=c.iterator();iter.hasNext())
{
doSomething(iter.next());
}
//使用for-each的版本
for(Integer v:c)
{
doSomething(v);
}
还有一点是如果你使用普通的for
,那么它的next
会走光所有的元素,也就无法再利用。