最小化局部变量的可访问性可以减小发生错误的几率,局部对象占用的内存可以及时GC。基本原则包括:
1.仅在第一次使用时声明局部变量
2.声明局部变量时尽可能进行初始化
3.优先使用for循环代替while循环。以下代码局部变量i在整个sayHello()方法里都是可访问的:
Collection<String> c=new ArrayList<String>();
Iterator<String> i=c.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
以下代码局部变量i仅在for循环里可访问:
Collection<String> c=new ArrayList<String>();
for(Iterator<String> i=c.iterator();i.hasNext();)
System.err.println(i.next());
对于数组,可使用以下代码仅在for循环开始时获取数组长度,以提高性能:
String[] strs=new String[0];
for(int i=0,len=strs.length;i<len;i++)
System.out.println(strs[i]);
JDK5以后建议使用以下语法:
Collection<String> c=new ArrayList<String>();
for(String str:c)
System.out.println(str);
4.保持方法短小简洁,如果某个方法代码太长并且包含2个局部变量,可考虑拆分为2个方法,其中每个方法仅包含1个局部变量