java - 列表的 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::add
boolean accept(T t)
解决方案
.forEach(x -> {
boolean willBeIgnored = strList2.add(x);
return;
})
推荐阅读
- mysql - 基于会话变量的 MySQL 中 If/else 条件的正确使用
- python - 使用 Stack 基于数字评估 Postfix 表达式
- node.js - 如何在下一个 js 中访问方法内的请求标头?
- javascript - 找不到模块:无法解析“@stripe/react-stripe-js”
- c - 使用for循环反转C中的字符串?
- asp.net - 如何解决'没有'IEnumerable类型的ViewData项
' 在 ASP.NET MVC 中? - c++ - 带有一些用户提供的参数的模板推导
- r - 使用disk.frame,但仍然达到内存限制问题
- sql-server - 如何防止插入后触发器中的重复结果
- google-cloud-platform - 使用来自 Google Cloud Platform 的令牌,无需验证和警告