在公司看同事的代码,很多for循环是这么写的:
for(int i=0;i < list.size(); i++){
System.out.println("循环 "+i);
}
其本身并没有毛病,只是我觉得在for循环的判断语句中执行一个方法不太合理,因为这句话会循环执行多次。如果循环次数较多,加之工程中都使用这种写法,势必对性能会有一定的影响;同时如果该方法中再定义了一些变量,对内存也会造成一些不必要的消耗。
建议修改为:
for(int i=0,length=list.size();i < length; i++){
System.out.println("循环 "+i);
}
对以上想法的说明,证明一下判断语句会被执行多次,而初始化语句只进行一次:
1.我直接在main方法所在类中添加一个类属性
2.添加静态方法供main方法调用
3.main方法调用testFor(),分别查看属性类MyList中的2个方法的执行次数,结果如下:
(1)getIndex()方法都只执行一次
(2)size()方法分别执行了10次和1次