小编mkd*_*ve2的帖子

使用双冒号 - 静态和非静态方法引用之间的区别

编辑:我的问题在这里得到了解答.总而言之,我对非静态方法引用的使用感到困惑.功能接口和参考方法具有不同数量的参数.

回答我的问题的是评论和接受的答案.


我目前正在阅读关于流减少方法的Java教程(https://docs.oracle.com/javase/tutorial/collections/streams/reduction.html).在那里,我发现了一段我认为错误的代码,所以我做了一个更简单的代码来确保.

// B.java file
import java.util.*;

public class B 
{
  public static void main(String[] args)
  {
    List<Integer> zahlen = new LinkedList<Integer>();
    zahlen.add(1);
    zahlen.add(2);
    zahlen.add(3);
    Averager averageCollect = zahlen.stream()
      .collect(Averager::new, Averager::addcount, Averager::combine);
    System.out.println(averageCollect.average());
  }
}

// Averager.java from the official Java tutorial
public class Averager
{
    private int total = 0;
    private int count = 0;

    public double average() {
        return count > 0 ? ((double) total)/count : 0;
    }

    public void addcount(int i) { …
Run Code Online (Sandbox Code Playgroud)

java lambda callback java-8 java-stream

7
推荐指数
1
解决办法
1226
查看次数

标签 统计

callback ×1

java ×1

java-8 ×1

java-stream ×1

lambda ×1