gpt4 book ai didi

java - 在 Java 8+ 中,流中只允许使用单参数方法引用

转载 作者:搜寻专家 更新时间:2023-10-31 08:16:21 26 4
gpt4 key购买 nike

在 Java 8 的 Stream 中,您是否只能使用带有单个参数的方法引用(如果您不允许使用方法调用包装方法引用)?

p>

我假设是这样,因为在流中,您随时都在处理单个项目。

因此:

  • Something::new(必须引用单个 arg 构造函数)
  • this::doSomething(必须带一个参数)
  • Something::doSomething(必须采用单个参数)

...在 Stream 中使用时。这条规则总是正确的吗?

最佳答案

不,不是。一些 Stream方法采用具有多个参数的方法的功能接口(interface)。

例如,Streamsorted(Stream<T> Comparator<? super T> comparator)方法,采用 Comparator ,其方法有两个参数。

这是使用方法引用的示例 - String::compareTo - 具有两个参数的方法:

System.out.println(Stream.of("a","d","c").sorted(String::compareTo).collect(Collectors.toList()));

StreamOptional<T> max(Comparator<? super T> comparator)方法是另一个类似的例子。

关于java - 在 Java 8+ 中,流中只允许使用单参数方法引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53985887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com