繁体   English   中英

用于(x:y)执行的Java

[英]Java for( x : y) execution

我有以下for循环:

for(String s : someString.split("\\s+")){
   //do something
}

每次循环迭代时java都执行split()方法,还是只执行一次并保持临时数组迭代?

它只执行一次,并使用该数组并通过它进行交互。

编辑:来自Mat这是参考

它在使用之前将数组存储在临时变量中。

在字符串上不执行拆分一次,然后循环遍历结果

split方法只调用一次。 考虑结构(也称为for-each)如下:

  • 第二个参数被评估并保持循环的持续时间。
  • 如果参数给出Iterable或者是数组(特殊情况),则进行检查以查看第一个参数的类型是否与返回的元素相对应。
  • 进程进入循环并执行范围内的代码,并在没有剩余元素时退出。

可以在这里获得更多信息: http//www.leepoint.net/notes-java/flow/loops/foreach.html

PS:这适用于Java 5最低要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM