<<effective java>>第45条:将局部变量的作用域最小化
我以前写for循环的例子:
public class Client { public static void main(String[] args) { Client client = new Client(); for (int i = 0;i < client.count(); i++) { System.out.println("第"+i+"次"); } } public int count(){ return 10; //可能是复杂的计算 } }
这样写每次循环都要调用一次count()方法,会增加开销,是不可取的。
可以采用下面做法减少开销:
public class Client { public static void main(String[] args) { Client client = new Client(); for (int i = 0,n=client.count();i<n; i++) { System.out.println("第"+i+"次"); } } public int count(){ return 10; //可能是复杂的计算 } }
从而避免在每次迭代中执行冗余计算的开销。
QQ群:127402101,进群请修改备注。