gpt4 book ai didi

java - lambda 表达式中不兼容的参数类型

转载 作者:行者123 更新时间:2023-12-05 09:33:48 25 4
gpt4 key购买 nike

考虑这段代码:

Map<C1, C2> map;
C1 key;
C2 value;

为什么这样做:

map.computeIfAbsent(key, k -> value)

这不是吗?

map.computeIfAbsent(key, () -> value)

最佳答案

因为方法computeIfAbsent具有以下签名:

default V computeIfAbsent(K key,
Function<? super K,? extends V> mappingFunction)

所以它需要一个Function,这是一个函数接口(interface),需要一个参数并返回一个值。而 () -> value,不接收任何参数并生成一个值(例如Supplier)。

关于java - lambda 表达式中不兼容的参数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67028458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com