实现自定义方法引用java时的错误结果

实现自定义方法引用java时的错误结果,java,Java,在下面的代码中,第一个系统正在打印0,第二个系统正在打印20。为什么 collect2 => [2, 4, 6, 8] System.out.println(":1-> :"+collect2.stream().reduce(0,X::doSum));//0 System.out.println(":2-> :"+collect2.stream().reduce(0,Integer::sum));//20 class X{

在下面的代码中,第一个系统正在打印0,第二个系统正在打印20。为什么

      collect2 =>  [2, 4, 6, 8]
          System.out.println(":1-> :"+collect2.stream().reduce(0,X::doSum));//0

        System.out.println(":2-> :"+collect2.stream().reduce(0,Integer::sum));//20
class X{

    public static Integer doSum(int val1,int val2){
        int sum = Integer.sum(val1, val1);
        return sum;

    }

}

什么类型是
collect2
<代码>ArrayList?ArrayList刚刚发现了打字错误。您编写了
Integer.sum(val1,val1)。第二个参数应该是
val2
,而不是
val1
。您在静态方法中指定了val1两次。谢谢,只查找它不起作用的原因,而不是查看它什么类型是
collect2
<代码>ArrayList
?ArrayList刚刚发现了打字错误。您编写了
Integer.sum(val1,val1)。第二个参数应该是
val2
,而不是
val1
。您在静态方法中指定了val1两次。谢谢,只查找它不起作用的原因,而不是查看它