在java中拆分多个字符串

Dea*_*ack 3 java

我是Java的新手,试图拆分多个字符串并将其存储在String数组中.外行人计划如下:

    Scanner sc = new Scanner(System.in);
    String s1 = "Hello1 Hello2";
    String s2 = "Hello3 Hello4";
    String s3 = "Hello5 Hello6";
    String[] parts = s1.split(" ");
    parts = s2.split(" "); //Rewrites
    parts = s3.split(" "); //Rewrites
    for(String s4:parts) { 
      System.out.print(s4 + " ");
    }
Run Code Online (Sandbox Code Playgroud)

该程序的输出显然是:Hello5 Hello6.(如何在Java中拆分字符串)

无论我期望输出Hello1 Hello2 Hello3 Hello4 Hello5 Hello6.也就是说,传入的字符串不能替换数组中现有的字符串.

And*_*ner 5

数组是固定长度的,因此您可以做的就是替换现有元素,或者创建一个新的独立数组.

如果你使用a List,它可以是可变长度,并且用于addAll将结果添加split到:

List<String> parts = new ArrayList<>();
parts.addAll(Arrays.asList(s1.split(" ")));
parts.addAll(Arrays.asList(s2.split(" ")));
parts.addAll(Arrays.asList(s3.split(" ")));
Run Code Online (Sandbox Code Playgroud)

请注意,你必须在Arrays.asList这里使用因为split返回a String[],而addAll需要一个集合String,例如List<String>.