此问题已在此处找到答案:
如何用java编写正确的微基准测试((11个答案)
30分钟前关门。
哪一个循环更快?
回路1
for(String key : myList) {
int index = myList.indexOf(key)
System.out.println(index)
}
环路2
int index;
for(String key : myList) {
index = myList.indexOf(key)
System.out.println(index)
}
谢谢你的帮助。我正在努力学习更多关于表演的知识。
2条答案
按热度按时间jhiyze9q1#
你的问题很“有趣”,但好吧,这是你的答案:你需要检查字节码。
下面是方法1的字节码:
下面是方法2的字节码:
如果您使用diff(例如diffchecker),您将看到字节码是相同的(由编译器优化)-性能也是一样的。
总之,正如@erwin bolwidt正确指出的,性能问题是在for循环中使用indexof方法,而不是声明局部变量。
67up9zun2#
您可以使用以下代码检查自己的密码:-