java json hashmap_Java-8 JSONArray到HashMap

博客作者在尝试使用Java的Lambda表达式和Stream API将JSONArray转换为Map<String,String>时遇到问题。在尝试将元素添加到Map中时,遇到了类型转换和方法不适用的错误。作者希望通过Lambda和Stream简化代码,但目前的实现导致了编译错误,期待得到关于Lambda和Stream用法的指导。
摘要由CSDN通过智能技术生成

我正在尝试将

JSONArray转换为Map< String,String>通过溪流和Lambdas.以下不起作用:

org.json.simple.JSONArray jsonArray = new org.json.simple.JSONArray();

jsonArray.add("pankaj");

HashMap stringMap = jsonArray.stream().collect(HashMap::new, (map,membermsisdn) -> map.put((String)membermsisdn,"Error"), HashMap::putAll);

HashMap stringMap1 = jsonArray.stream().collect(Collectors.toMap(member -> member, member -> "Error"));

为了避免在第4行进行类型转换,我正在进行第3行

第3行出现以下错误:

Multiple markers at this line

- The type HashMap does not define putAll(Object, Object) that is applicable here

- The method put(String, String) is undefined for the type Object

- The method collect(Supplier, BiConsumer, BiConsumer) in the type Stream is not applicable for the arguments (HashMap::new, ( map, membermsisdn)

-> {}, HashMap::putAll)

第4行出现以下错误:

Type mismatch: cannot convert from Object to HashMap

我正在努力学习Lambdas和溪流.有人可以帮帮我吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值