在Java中显示列表与Python中一样优雅
在Python中,将逗号显示为逗号分隔列表非常容易:
>>> iterable = ["a", "b", "c"] >>> ", ".join(iterable) 'a, b, c'
是否有一种接近这种简洁的Java方式? (注意最后没有“,”。)
以下是迈克尔提到的使用Guava和Commons / Lang的版本:
List items = Arrays.asList("a","b","c"); // Using Guava String guavaVersion = Joiner.on(", ").join(items); // Using Commons / Lang String commonsLangVersion = StringUtils.join(items, ", "); // both versions produce equal output assertEquals(guavaVersion, commonsLangVersion);
参考:
- 番石榴:
Joiner.on(String)
-
番石榴:
Joiner.join(Iterable
) -
Commons / Lang:
StringUtils.join(Collection, String)
AbstractCollection.toString()
(由标准API中的几乎所有集合inheritance)几乎就是这样。 对于Arrays,您可以使用Arrays.toString()
方法(也适用于基本数组)。
Apache Commons Collections或Google Guava中可能存在一些内容,允许您选择分隔符,并且不会将结果括在括号中。