我正在尝试将地图转换为多值地图,但出现以下编译异常:
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>tradersTradeMap
class 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
}
}
Run Code Online (Sandbox Code Playgroud)
有什么简单的方法可以做到吗?
如果你不关心MultiValueMap你使用哪种类型,最简单的方法是使用LinkedMultiValueMap的复制构造函数,它需要一个Map<K, List<V>>
您的示例中的一个问题是您试图提供原始地图和MultiValueMap相同的变量名称。因此,如果您改为执行以下操作:
MultiValueMap<String, String> TradersTradeMVMap = new LinkedMultiValueMap<>(TradersTradeMap);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13558 次 |
| 最近记录: |