String类的Split方法返回一个字符串?

时间:2015-03-17 04:45:46

标签: java

根据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);
        }
    }
}

2 个答案:

答案 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

获得的字符串数组中的当前字符串