2010-11-08 13 views
6

En Python es bastante fácil de mostrar un iterable como una lista separada por comas:lista Desplegando en Java tan elegante como en Python

>>> iterable = ["a", "b", "c"] 
>>> ", ".join(iterable) 
'a, b, c' 

¿Hay una manera de Java que se acerca a este concisión? (Tenga en cuenta que no hay "," al final.)

Respuesta

18

Éstos son las versiones utilizando Guava y Commons/Lang que Michael referred to:

List<String> 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); 

Referencia:

+0

+1, @seanizer, me gusta mucho sus respuestas. Keep em comin ':-) – aioobe

+1

Gracias (+ 8 caracteres más) –

5

AbstractCollection.toString() (que es heredado por casi todas las colecciones en la API estándar) prácticamente lo hace. Para Arrays, puede usar los métodos Arrays.toString() (que también funcionan en arreglos primitivos).

Probablemente exista algo en Apache Commons Collections o Google Guava que le permita elegir el carácter separador y no rodee los resultados entre paréntesis.

Cuestiones relacionadas