Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表的forEach()如何接受非消费者<;T>;类似于list::add的表达式_Java_Java Stream - Fatal编程技术网

Java 列表的forEach()如何接受非消费者<;T>;类似于list::add的表达式

Java 列表的forEach()如何接受非消费者<;T>;类似于list::add的表达式,java,java-stream,Java,Java Stream,考虑以下代码段: List<String> strList = new ArrayList<>(); List<String> strList2 = new ArrayList<>(); strList.forEach(strList2::add); List strList=new ArrayList(); List strList2=newarraylist(); forEach(strList2:

考虑以下代码段:

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

strList.forEach(strList2::add);
List strList=new ArrayList();
List strList2=newarraylist();
forEach(strList2::add);

list.forEach()
仅接受
消费者
void accept(T)
作为
list::add
具有
布尔接受(T)
签名的方法时,如何实现这一点?返回类型不匹配,对吗?

我不得不说,这真是令人印象深刻。像子弹一样快:)哇。。你一直在等着回答问题吗?太棒了@利诺。。。最终作为副本关闭并删除;)@尤金总是这样结束,总是;)我有一个疑问。。那么,当我们使用list.add(ta)作为返回值时,为什么会得到true/false呢?(我认为list.add()和list::add指的是同一个实现)您可以提供只接受一个参数的任何函数引用,不管它的名称是什么。侧注,这是
forEach
的一个非常糟糕的用法,最好是
strList.addAll(strList2)
@Lino Yes true。为了举例说明,我用了。。
.forEach(x -> {
    boolean willBeIgnored = strList2.add(x);
    return;
})