我最近一直检查代码的注意到使用该语法在for循环中在声明变量的for循环的阵列长度
for(int i = 0, len = myArray.length; i < len; i++){
//some code
}
,而不是:
for(int i = 0; i < myArray.length; i++){
//some code
}
有理由说它更高效,因为您不必每次循环查找myArray.length属性。
我创建了一个测试来检查这是否是这种情况,在我的所有测试中,第一个for循环方法比第二个方法快得多(大约70%)。
我很好奇为什么这个语法没有被更广泛的采用,我认为这是一个更好的方法来通过数组使用for循环。
“我很好奇为什么这个语法没有被更广泛的采用,我认为这是一个更好的方法来通过数组使用for循环。 “ 因为大多数人今天使用迭代器:-) – Smutje
恕我直言,第一种语法没有被广泛使用,因为它是一个微型优化,如果你需要挤出那么多的性能,可能你必须重新考虑很多事情,循环可能是最后一个。 –
这是一个很好的观点。即使我不喜欢在for循环中使用.size()和.length()方法。更可接受的方法是(String str:myarray){} – raki