#java #hashmap
#java #hashmap
Вопрос:
У меня есть Hashmap <Строка, объект>, который может содержать другой тип объекта, например String, Int . Итак, я уже успешно преобразовал объект в int и string . Но когда я пытаюсь преобразовать его в hashmap, это не работает, и у меня есть пустое значение без ошибок.
Вот что я попробовал :
String str = "hey";
Int intVal= 66;
HashMap<String, String> myGetHashMapVal= new HashMap<>();
HashMap<String,Obj> objHashMap = new HashMap<>();
objHashMap.put("TheString",str);
objHashMap.put("TheInt",intVal);
objHashMap.put("HashMap",myGetHashMapVal);
HashMap<String, Object> hashMap = (HashMap<String, Object>) objHashMap.get("HashMap");
Комментарии:
1. Как вы определяете, что у вас есть пустое значение без ошибок? У вас должно быть допустимое значение, но его печать приведет к бесконечному циклу.
2. Интересно. Помещаем экземпляр хэш-карты в себя. Это никогда бы не пришло мне в голову. Однако не уверен в необходимости.
3. @LouisWasserman возможно, я использую свой отладчик, и в моем отладчике объект отображается как HashMap
4. @WJS Мне это нужно для некоторой рекурсивной обработки, когда я вспоминаю функцию, использующую hashmap.
5. Не
HashMap<String,Obj> objHashMap = new HashMap<>()
должно бытьHashMap<String,Object> ...
Ответ №1:
Ну, для меня это работает просто отлично.
HashMap<String,Object> map = new HashMap<>();
map.put("myMap", map);
map.put("int", 1);
@SuppressWarnings("unchecked")
HashMap<String,Object> map2 = (HashMap<String,Object>)map.get("myMap");
System.out.println(map2.get("int"));
С принтами
1