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

x33g5p2x  于2022-09-16 转载在 Java  
字(1.9k)|赞(0)|评价(0)|浏览(420)

这个例子将展示如何使用 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);
}

相关文章

微信公众号

最新文章

更多