gpt4 book ai didi

java - 在 Java 中使用 for-each 循环

转载 作者:搜寻专家 更新时间:2023-10-31 08:20:26 26 4
gpt4 key购买 nike

在我的代码中,

for(City city : country.getCities()){
// do some operations
}

使用 country.getCities() 成本高吗? JVM 会为每次调用维护堆栈跟踪吗?

List<City> cityList = country.getCities();
for(City city : cityList){
// do some operations
}

什么是最好的使用方式?

最佳答案

不,这个循环:

for(City city : country.getCities())

只会调用 country.getCities() 一次,然后对其进行迭代。它不会在循环的每次迭代中调用它。在您的情况下,它等同于:

for (Iterator<City> iterator = country.getCities().iterator();
iterator.hasNext(); ) {
City city = iterator.next();
// do some operations
}

按照您的第二个代码段重写它没有任何好处。

参见 section 14.14.2 of the JLS了解更多详情。

关于java - 在 Java 中使用 for-each 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13857923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com