【发布时间】:2014-08-07 23:47:09
【问题描述】:
我正在尝试使用Maps,但我有这个疑问:
Map<String, Object> input = new LinkedHashMap<String, Object>();
String operator = "in";
String argument = "foo";
String field = "AvailabilityStatus";
Map<String, Object> innerMap = new LinkedHashMap<String, Object>();
innerMap.put(operator, argument);
input.put(field, innerMap);
上述代码的函数调用是
String output = FunctionA(input);
似乎工作正常,但将输入更改为:
Map<String, Map<String, Object>> input = new LinkedHashMap<String, LinkedHashMap<String, Object>>();
不允许我以同样的方式调用该函数。 functionA 是:
public static String FunctionA(Map<String, Object> filters) throws Throwable {
//logic goes here
}
这两个语句本质上不是试图做同样的事情吗?
【问题讨论】:
-
不让我用同样的方式调用函数请详细说明
-
同理,为什么我不能用一个 Map 实现一个 LinkedHashMap 的嵌套 Map?
-
Map<String, Object>和Map<String, Map<String, Object>>不是一回事。你问的是这个吗? -
出现一个红色错误,提示两者的类型不兼容。为什么当我将它更改为嵌套 Map 的 LinkedHashMap 时它会有所不同,但在我作为 innerMap 单独执行时没有显示错误?
标签: java map nested linkedhashmap