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

我可以将 Map<String, List<Integer>> 转换为 MultiValueMap

我可以将 Map<String, List<Integer>> 转换为 MultiValueMap

慕盖茨4494581 2022-06-23 10:08:31
我正在尝试将地图转换为多值地图,但出现以下编译异常:Wrong 1st argument type. Found: java.util.Map<java.lang.String,java.util.List<java.lang.String>>, required: org.springframework.util.MultiValueMap<java.lang.String,java.lang.String> less...  Inspection info:这是结构: Map<String, List<String>> tradersTradeMap-> MultiValueMap<String, String>tradersTradeMapclass Trade {  public String getTraderNameAfterProcesing (MultiValueMap<String, String>       tradersTradeMap){      ..... // SOme code goes here   }}class Customer {private Trade trade;public String Method1(){   Map<String, List<String>> traderTradeMap = new HashMap<>();   traderTradeMap.put("TraderA", Arrays.asList("SPOT","BLOCK","FORWARD"));   traderTradeMap.put("TraderB", Arrays.asList("SPOT","BLOCK"));   trade = new Trade();   trade.getTraderNameAfterProcesing(traderTradeMap); // This line is giving exception }}有什么简单的方法吗?
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

如果您不关心MultiValueMap使用哪种类型,最简单的方法是使用LinkedMultiValueMap复制构造函数,它需要一个Map<K, List<V>>

您的示例中的一个问题是您试图提供原始地图和MultiValueMap相同的变量名称。因此,如果您改为执行以下操作:

MultiValueMap<String, String> TradersTradeMVMap = new LinkedMultiValueMap<>(TradersTradeMap);


查看完整回答
反对 回复 2022-06-23
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

是的,Spring 以 的形式提供了一个方便的包装器CollectionUtils.toMultiValueMap(),它保留了原来Map使用的包装器。



查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 368 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号