根据String.split()
documentation方法返回数组,那么下面的代码如何编译呢?
for循环中的retval
变量是String
而不是数组,但没有错误?
public class String_Splitting_Example
{
public static void main(String args[])
{
String Str = new String("Welcome-to-Tutorialspoint.com");
System.out.println("");
System.out.println("Return Value :" );
for (String retval: Str.split("-"))
{
System.out.println(retval);
}
}
}
答案 0 :(得分:4)
String.split()
返回一个数组。它并未将调用结果分配给retval
(请注意那里没有=
分配运算符)。相反,:
表示法意味着它使用for-each loop迭代数组,并依次将每个元素分配给retval
。
正如@nobalG指出的那样,StackOverflow上还有很多优秀的资源。查看标记为java
and foreach
的一些问题。
答案 1 :(得分:1)
正如Jared Burrows评论的那样,通过编写for (String retval: Str.split("-"))
,你正在遍历数组的每个部分,其中retval包含你从Str.split