我想知道使用方法调用作为获取集合的 foreach 参数的性能。让我们看一个例子:
for (Entry<K, V> entry : map.entrySet()) {
doing.stuff();
}
我想JVM在开始循环之前只会调用一次map.entrySet(),获取第一个元素,获取他的迭代器并对其进行迭代,不再调用map.entrySet(),或者如果数组只是使用本地创建的迭代它int 迭代器(或类似的东西),但我不知道 JVM 是如何工作的,所以我想确定 - 它是否以这种方式工作,或者最好在循环之前保存集合并将其作为本地 var 传递,而不是调用循环内的吸气剂?