从split方法返回的字符串数组中获取元素

时间:2016-02-29 10:48:33

标签: java arrays string split

我有一个方法splitThat执行以下操作:

public static void splitThat(String newString){
    System.out.println
      (java.util.Arrays.toString(newString.split("\\s+")));
}

方法split返回一个字符串数组,但我不知道如何单独访问返回的字符串数组的元素。例如:

splitThat("Please help me");

这将返回数组:

  

[请,帮助,我]

当我想要访问数组的第一个元素时,我不能简单地使用索引,编译器会提供错误消息,并且建议的修复无效。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

您的splitThat不会返回任何内容。它只打印调用split返回的数组。如果要访问该数组的元素,请更改方法以返回String[],而不是打印数组。

public static String[] splitThat(String newString){
    return newString.split("\\s+");
}

...

String[] s = splitThat("Please help me");
if (s.length > 0)
    System.out.println(s[0]);

答案 1 :(得分:4)

  

这将返回数组:

您编写的void方法不会返回任何内容。只有打印数组。

您可能希望将方法更改为:

public static String[] splitThat(String newString){
    return newString.split("\\s+");
}

答案 2 :(得分:0)

这是您想要的副本

public class TwoD {
    public static String[] splitThat(String newString){
        System.out.println(java.util.Arrays.toString(newString.split("\\s+")));

        String []temp = newString.split("\\s+");

        return  temp;

    }

    public static void main(String... args)
    {


        //Use This
        for(String outputs:splitThat("Please help me")) {
            System.out.println(outputs);
        }

        //OR USE
        String []outputs2 = splitThat("Please help me");

        for(int i = 0;i < outputs2.length;i++)
        {
            System.out.println(outputs2[i]);
        }

    }

}