数组单个字符串的字符串列表

2022-09-03 08:29:11

我有一个字符串数组列表(数组列表中的每个元素只是一个没有空格的单词),我想获取每个元素并将每个下一个单词附加到字符串的末尾。

所以说数组列表有

    element 0 = "hello"
    element 1 = "world,"
    element 2 = "how"
    element 3 = "are"
    element 4 = "you?"

我想做一个名为句子的字符串,其中包含“你好,你好吗?


答案 1

从Java 8开始,它已被添加到标准的Java API中:

String.join() 方法:

String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

List<String> list = Arrays.asList("foo", "bar", "baz");
joined = String.join(";", list); // "foo;bar;baz"

还添加了 StringJoiner

StringJoiner joiner = new StringJoiner(",");
joiner.add("foo");
joiner.add("bar");
joiner.add("baz");
String joined = joiner.toString(); // "foo,bar,baz"

另外,它是空的,我很感激。我的意思是,如果在 a 中遇到 a,它不会抛出 NPE:StringJoinernullList

@Test
public void showNullInStringJoiner() {
    StringJoiner joinedErrors = new StringJoiner("|");
    List<String> errorList = Arrays.asList("asdf", "bdfs", null, "das");
    for (String desc : errorList) {
        joinedErrors.add(desc);
    }

    assertEquals("asdf|bdfs|null|das", joinedErrors.toString());
}

答案 2

使用 StringUtils 来解决此问题。

例如,Apache Commons Lang提供了加入方法。

StringUtils.join(myList,","))

它将循环访问您的数组或字符串列表,并使用第二个参数作为分隔符将它们连接起来。请记住 - 总有一个图书馆,让一切变得简单。