这个例子将展示如何使用 java、java 8、guava、apache commons 和 spring 框架打印一个用逗号分隔每个元素的对象列表。
private List<String> programmingLanguages = Lists.newArrayList("java", "python", "ruby", "groovy");
private String languagesSeperatedByComma = "java,python,ruby,groovy";
以下代码将展示如何以逗号分隔将列表转换为字符串。
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 字符串连接器,我们将使用 Collectors.joining 连接流,它将连接由指定分隔符分隔的输入元素,如下所示:
@Test
public void join_elements_in_list_java8 () {
String elementsJoined = programmingLanguages
.stream()
.collect(Collectors.joining(","));
assertEquals(languagesSeperatedByComma, elementsJoined);
}
以下代码将展示如何使用 Guava 的 Joiner 对象实现将列表转换为字符串。
@Test
public void join_elements_in_list_guava () {
String elementsJoined = Joiner.on(",").join(programmingLanguages);
assertEquals(languagesSeperatedByComma, elementsJoined);
}
以下代码展示如何使用 apache commons StringUtils.join 将 ProgrammingLanguages 列表转换为逗号分隔的字符串。
@Test
public void join_elements_in_list_apache_commons () {
String elementsJoined = StringUtils.join(programmingLanguages, ",");
assertEquals(languagesSeperatedByComma, elementsJoined);
}
Springs 实现 StringUtils.collectionToDelimitedString 提供了与上述相同的方法。这种方法将返回一个数组列表作为一个用逗号分隔的字符串。
@Test
public void join_elements_in_list_spring () {
String elementsJoined = org.springframework.util
.StringUtils.collectionToDelimitedString(programmingLanguages, ",");
assertEquals(languagesSeperatedByComma, elementsJoined);
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : http://www.leveluplunch.com/java/examples/print-list/
内容来源于网络,如有侵权,请联系作者删除!