考虑以下代码:
final String str = "1-2-3"; for (int idx = 0; idx < str.split("\\D").length; idx++) { // do something }
这部分代码str.split("\\D")会执行多少次?三次?或者编译器会看到str声明为final,只有一次调用str.split("\\D")就足够了吗?
str.split("\\D")
str
final
java iterator for-loop
for-loop ×1
iterator ×1
java ×1