为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 BiConsumer 功能接口接受具有返回类型的方法

为什么 BiConsumer 功能接口接受具有返回类型的方法

守候你守候我 2023-06-28 16:27:27
我知道 BiConsumer 有一个接受 2 agr 并返回 void 的方法。在这种情况下,map.put 如何被接受,其中接受 2 个参数并返回值?Map<String,String> roles = new HashMap<>();BiConsumer<String, String> consumer= (s,t) -> roles.put(s,t);consumer.accept("XX", "XXXXX");我预计下面的线会失败BiConsumer<String, String> consumer(s,t) -> roles.put(s,t);同样的方式,我预计下面的一个会失败,因为它需要字符串实例和字符串文字来添加/连接并返回字符串BiConsumer<String, String> concat = String::concat; orconcat = (s,t) -> s.concat(t);好像我误解了一些东西,但无法理解。有人可以解释为什么我的理解是错误的吗?
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

BiConsumer<String, String> consumer= (s,t) -> {

   String result = roles.put(s,t); // result is ignored

   return;

}

在 中也称为特殊 void 兼容性规则JLS。


查看完整回答
反对 回复 2023-06-28
  • 1 回答
  • 0 关注
  • 108 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信