<<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,进群请修改备注。

posted @   十目隐  阅读(157)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示