Java 使用相同的HashMapM<;字符串;用于字符串和字符串数组(字符串[])

Java 使用相同的HashMapM<;字符串;用于字符串和字符串数组(字符串[]),java,generics,hashmap,Java,Generics,Hashmap,我有一些字符串类型的属性和“ArrayString”(String[])类型的属性。我怎样才能把它们放在同一个HashMap中呢 例如: String data; String[] array; ... // Initialize and put the values in attributes HashMap <String, *> hm = new HashMap<String, *> // * -> it's what i want hm.put ("data

我有一些字符串类型的属性和“ArrayString”(String[])类型的属性。我怎样才能把它们放在同一个HashMap中呢

例如:

String data;
String[] array;
... // Initialize and put the values in attributes
HashMap <String, *> hm = new HashMap<String, *> // * -> it's what i want
hm.put ("data", data);
hm.put("array", array);
字符串数据;
字符串[]数组;
... // 初始化并将值放入属性中
HashMap hm=newhashmap/*->这就是我想要的
hm.put(“数据”,数据);
hm.put(“数组”,数组);

哪一个值或类必须在*?

个人而言,我会用另一种方式来处理它-始终将值存储为
字符串[]
,如果您有一个值,只需将其存储在一个带有单个元素的数组中即可)。这将使您的代码更加简单

如果绝对必须混合使用
String
s和
String[]
s,则只能使用
Object
作为值类型(即
HashMap
,并且必须在代码中使用运行时类型标识。

您可以使用

 HashMap<String, List<String>> 
HashMap

而是为了实现您的目标。如果这不适合您,请提供更多上下文,我很乐意提供帮助,这将是不安全的。所以…我不能这样做?不。将字符串包装在数组中。