基本两种模式
模式一:
for(int i=0;i<list.size();i++){
/*
****some code******
*/
}
这种模式,基本是所有人最习惯的。因为老师就是这么教的……
模式二:
for(int i=0,length = list.size();i<length;i++){
/*
****some code******
*/
}
经常逛IT类的论坛和博客的人,或者那种对代码有洁癖的是会非常推荐第二种……因为第一种方式,没循环一边就会执行一次 list.size()方法。对那些非常注重效率的人来说非常推荐第二种。
但是,今天遇到一个问题:如果用第二种方法便利数组,的确会带来效率的提高。但是如果在并发开发中,数组的长度变换了,可能会带来 IndexOutOfBoundsException 异常。所以效率高的不一定是最好的,要找到合适的才是最重要的。