Java 8 Streams:为什么Collectors.toMap对于带有通配符的泛型有不同的表现?

Java 8 Streams:为什么Collectors.toMap对于带有通配符的泛型有不同的表现?,第1张

Java 8 Streams:为什么Collectors.toMap对于带有通配符的泛型有不同的表现?

这是类型推断无法正确实现的原因。如果您明确提供type参数,则它可以按预期工作:

List<? extends Number> wildCardList = Arrays.asList(1, 2, 3D);wildCardList.stream().collect(Collectors.<Number, Integer, Number>toMap( number -> Integer.valueOf(number.intValue()), number -> number));

这是一个已知的javac错误:推理不应将捕获变量映射到其上限。根据Maurizio
Cimadamore的说法,

尝试修复,然后因为在8中打破案例而退出,所以我们在8中进行了更保守的修复,而在9中完成了全部 *** 作

显然,该修复程序尚未推出。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5164874.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存