String.join现在只能用于CharSequence元素吗?
将不同集合的元素连接到String会有点困难。
在api支持中添加它会很容易:
public static <E extends Object, R extends CharSequence> String join(final CharSequence delimiter, Iterable<E> elements, Function<E, R> stringExtractor)
而不是保持相同的api:
public static <E extends Object> String join(final CharSequence delimiter, Iterable<CharSequence> elements)
{
return join(delimiter, elements, Function.identity());
}
加入整数我们可以简单地说:
String.join(",", IntStream.range(0, 5).boxed().collect(Collectors.toList()), elem -> elem.toString())
答案 0 :(得分:2)
您确定自己不想在流媒体结尾处使用Collectors.joining()
收藏家吗?
示例代码
List<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(6);
numbers.add(7);
numbers.add(8);
String value = numbers.stream().map(Object::toString).collect(Collectors.joining("-"));
System.out.println(value); // Outputs 5-6-7-8