![](/img/trans.png)
[英]how can i get values from HashMap<String, Object> inside Obect []?
[英]How can I get a value from Hashmap<String, Object>?
我需要一个可以具有任何类型值的 Map。 所以我尝试使用HashMap 。 但是,如果我尝试从地图中获取值,IDE 会说该类型不匹配。
这是我的代码的一部分:
Map<String, Object> state1 = new HashMap<>();
state1.put("location", exit1);
state1.put("direction", direction);
state1.put("number", 0);
Deque<Map> q = new ArrayDeque<>();
q.add(state1);
List<Integer> numbers = new ArrayList<>();
while (!q.isEmpty()) {
Map<String, Object> state = q.poll();
Pair location = state.get("location");
变量exit1 , direction已经在这部分之前定义,所以你可以忽略它。 此外,您不必关心这部分下面的代码。
我的 IDE 说Map<String, Object> state = q.poll();
具有不兼容的类型 — 需要Pair但找到Object 。 我怎样才能使它兼容?
我正在解决一个只能运行一个文件的问题,所以我无法实现一个新类。
...
Pair location = null;
if(state.get("location") instanceof Pair){
Pair location = (Pair)state.get("location");
}
else{
...
}
您可以像这样指定泛型类型:
Deque<Map<String, Object>> q = new ArrayDeque<>();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.