我想将int
和String
的数组放入HashMap
。这可能吗?什么是正确的方法?
这是我的HashMap:
Map<String, String> stringMap = new HashMap<>();
stringMap.put("Text","fish" );
stringMap.put("Diet","false");
stringMap.put("CookingTime", "60");
stringMap.put("OptionId", [7,8,8]);
我知道这行错了 - 如何在HashMap
?
stringMap.put("OptionId", [7,8,8]);
答案 0 :(得分:3)
您可以通过执行
在java中实例化一个数组someMap.put("OptionId", new int[]{7,8,8});
否则,您将需要一个在数组中返回这些值的函数。
对于您的情况:如果要创建多种数据类型的HashMap,可以使用
HashMap<String, Object> map = new HashMap<String, Object>();
然后你可以把任何你想要的东西放在
中map.put("key1", "A String");
map.put("key2", new int[]{7,8,8});
map.put("key3", 123);
除了现在棘手的部分是你不知道什么是什么所以你需要使用instanceof
来解析地图,除非你知道什么类型的对象在一个键上然后你可以{cast
1}}它到那种类型。
if(map.get("key1") instanceof String)
String s = (String) map.get("key1"); // s = "A String"
或
int[] arr = (int[]) map.get("key2"); // arr = {7,8,8}