有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

scala如何在Java 8中引用reduce()操作的结果?

我试图用Java8编写一个mkString函数,这是la Scala的一个有用的mkString,遇到了两个问题,我需要一些帮助:

  1. 我无法使mkString的第一个参数成为像Collection<Object> c这样的泛型集合引用,也无法让调用程序调用任何类型的集合

  2. 无法在线引用返回的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) 个答案