使用lambda的Java流中的参数调用构造函数

前端之家收集整理的这篇文章主要介绍了使用lambda的Java流中的参数调用构造函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想调用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)
原文链接:https://www.f2er.com/java/127277.html

猜你在找的Java相关文章