scala如何在Java 8中引用reduce()操作的结果?
我试图用Java8编写一个mkString
函数,这是la Scala的一个有用的mkString
,遇到了两个问题,我需要一些帮助:
我无法使
mkString
的第一个参数成为像Collection<Object> c
这样的泛型集合引用,也无法让调用程序调用任何类型的集合无法在线引用返回的
reduce()
结果以访问结果的长度,从而删除额外的前导分隔符
以下是代码:
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
System.out.println(mkString(numbers, ","));
}
public static String mkString(Collection<Integer> c, String sep) {
return c.stream()
.map(e -> String.valueOf(e))
.reduce("", (a, b) -> a + sep + b)
.substring(1, <<>>.length);
}
共 (0) 个答案