在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中可能存在一些内容,允许您选择分隔符,并且不会将结果括在括号中。