首页 > 解决方案 > 列表的 forEach() 如何获取非消费者像 list::add 这样的表达式

问题描述

考虑以下代码段:

List<String> strList = new ArrayList<>();               
List<String> strList2 = new ArrayList<>();      

strList.forEach(strList2::add);

list.forEach()当仅接受Consumer<T>具有签名的void accept(T t)方法时,这怎么可能?返回类型不匹配对吗?list::addboolean accept(T t)

标签: javajava-stream

解决方案


.forEach(x -> {
    boolean willBeIgnored = strList2.add(x);
    return;
})

推荐阅读