gpt4 book ai didi

使用 java、java 8、guava、apache commons 和 spring 框架将列表转换成字符串

转载 作者:知者 更新时间:2024-03-12 08:00:33 27 4
gpt4 key购买 nike

这个例子将展示如何使用 java、java 8、guava、apache commons 和 spring 框架打印一个用逗号分隔每个元素的对象列表。

示例数据

private List<String> programmingLanguages = Lists.newArrayList("java", "python", "ruby", "groovy");
private String languagesSeperatedByComma = "java,python,ruby,groovy";

原生Java

以下代码将展示如何以逗号分隔将列表转换为字符串。

private static String join(String separator, String... strings) {
    if (strings == null || strings.length == 0) {
        return "";
    } else if (strings.length == 1) {
        return strings[0];
    } else {
        StringBuilder sb = new StringBuilder();
        sb.append(strings[0]);
        for (int i = 1; i < strings.length; i++) {
            sb.append(separator).append(strings[i]);
        }
        return sb.toString();
    }
}

@Test
public void join_elements_in_list_java () {

    String elementsJoined = join(",", programmingLanguages.toArray(new String[programmingLanguages.size()]));
    assertEquals(languagesSeperatedByComma, elementsJoined);
}

Java 8

使用 java 8 字符串连接器,我们将使用 Collectors.joining 连接流,它将连接由指定分隔符分隔的输入元素,如下所示:

@Test
public void join_elements_in_list_java8 () {

    String elementsJoined = programmingLanguages
            .stream()
            .collect(Collectors.joining(","));

    assertEquals(languagesSeperatedByComma, elementsJoined);
}

Google Guava

以下代码将展示如何使用 Guava 的 Joiner 对象实现将列表转换为字符串。

@Test
public void join_elements_in_list_guava () {

    String elementsJoined = Joiner.on(",").join(programmingLanguages);
    assertEquals(languagesSeperatedByComma, elementsJoined);
}

Apache Commons

以下代码展示如何使用 apache commons StringUtils.join 将 ProgrammingLanguages 列表转换为逗号分隔的字符串。

@Test
public void join_elements_in_list_apache_commons () {

    String elementsJoined = StringUtils.join(programmingLanguages, ",");
    assertEquals(languagesSeperatedByComma, elementsJoined);
}

Spring Framework

Springs 实现 StringUtils.collectionToDelimitedString 提供了与上述相同的方法。这种方法将返回一个数组列表作为一个用逗号分隔的字符串。

@Test
public void join_elements_in_list_spring () {

    String elementsJoined = org.springframework.util
            .StringUtils.collectionToDelimitedString(programmingLanguages, ",");

    assertEquals(languagesSeperatedByComma, elementsJoined);
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com