使用lambda的Java流中的参数调用构造函数
发布时间:2020-12-14 23:49:39 所属栏目:Java 来源:网络整理
导读:我想调用MySortedSet的一个构造函数,它以一个Comparator c为参数.我该如何修改呢? public MySortedSetE subSet(E fromElement,E toElement) { return list.stream() .filter(x - (list.indexOf(x) = list.indexOf(fromElement) list.indexOf(x) list.indexO
我想调用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面向对象(类,封装,this,构造方法)
- Java连载37-面向对象的封装性
- 史上最全的java随机数生成算法分享
- .net – 如何在服务停止的多线程Windows服务中停止工作线程
- 多线程 – 如何限制为F#中的异步Seq.map操作创建的线程数?
- java – com.fasterxml.jackson.databind.JsonMappingExcep
- 当您有一个变量,如在Java中访问$002时,意味着什么?
- java – 在ApachePOI中使用而不是不推荐使用的CellRangeAdd
- java – 缺少第三方库阻止您使用Scala?
- java – 如果ExecutorService的队列已满,会发生什么