gpt4 book ai didi

java - 使用 lambda 在 Java 流中调用带参数的构造函数

转载 作者:行者123 更新时间:2023-12-02 03:21:45 26 4
gpt4 key购买 nike

我想调用 MySortedSet 的构造函数,该构造函数接受 Comparator c 作为参数。我该如何修改它才能做到这一点?

public MySortedSet<E> subSet(E fromElement, E toElement) {
return list.stream()
.filter(x -> (list.indexOf(x) <= list.indexOf(fromElement)
&& list.indexOf(x) < list.indexOf(toElement)))
.collect(Collectors.toCollection(MySortedSet<E> :: new));
}

最佳答案

如果您想将其他捕获的值作为参数传递,则不能使用方法引用。您必须改用 lambda 表达式:

MySortedSet<E> :: new

=>

() -> new MySortedSet<E>(c)

关于java - 使用 lambda 在 Java 流中调用带参数的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56922701/

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