java – lambda中的控制反转
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – lambda中的控制反转,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含863字,纯文字阅读大概需要2分钟。
内容图文
![java – lambda中的控制反转](/upload/InfoBanner/zyjiaocheng/747/8cb52840d32d4b318349ff4a23f14ac4.jpg)
我试图将列表转换为Map的键,并具有默认值null.但是,我的代码需要通过new关键字创建一个HashMap,这违反了Spring中的Inversion of Control原则.
我是否知道在这种情况下Spring是否有正确的方法来初始化地图?
convertStringToList(input).stream().collect(HashMap::new,
(map, value) -> map.put(value, null), Map::putAll);
解决方法:
Spring bean自动装配与非Spring配置组件的特定实现的实例化略有不同.不要害怕新关键字和某个实现.
Map<String, String> newMap = convertStringToList(input).stream().collect(HashMap::new,
(map, value) -> map.put(value, null), Map::putAll);
这很好,因为您将Stream收集到Map,这是一个接口. Spring不会影响将在流收集上使用哪个实现,因此您必须指定将使用HashMap(而不是使用TreeMap …).
如果你这样做……
Map<String, String> a = b.stream().collect(Map::new,
(map, value) -> map.put(value, null), Map::putAll);
在这里,您“无法实例化类型Map” – 它需要实现,并且Spring不负责提供一个.
内容总结
以上是互联网集市为您收集整理的java – lambda中的控制反转全部内容,希望文章能够帮你解决java – lambda中的控制反转所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。