Juntando objetos em uma string com Java 8 Stream API

Você pode aproveitar o Java 8 Collectorspara concatenar alguns objetos em uma string separada por um delimitador:

Por exemplo:

List<Integer> numbers = Arrays.asList( 4, 8, 15, 16, 23, 42 );
return numbers.stream()
.map( n -> n.toString() )
.collect( Collectors.joining( "," ) );

vai voltar "4,8,15,16,23,42".

Esta é uma função estática para sua classe Utils:

public static String join( Collection collection, String delimiter )
{
return collection.stream()
.map( Object::toString )
.collect( Collectors.joining( delimiter ) );
}

Sim, é ruim, mas todo projeto tem um 🙂