fly*_*pen 9 java optimization loops
这是我的Java代码:
List<Object> objects = new ArrayList();
// Assign values to objects
...
for (int i = 0; i < objects.size(); i++) {
Object object = objects.get(i);
...
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
objects.size()说明循环之前只计算一次,或者是计算每个循环?objects.size()计算每个循环,那么如果其他线程在没有多线程保护的情况下同时更改它,则代码可能会崩溃. 我对么?
Boh*_*ian 12
回答:
objects.size()被称为每个循环(是否计算取决于ArrayList实现,你不应该关心)真实答案:
你不应该关心,这里你不必如何:
foreach语法,这意味着您不必使用索引等 - 它已为您完成:for (Object object : objects) {
// do something with each object
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5663 次 |
| 最近记录: |