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

你可能感兴趣的:(Effective Java)