有更好的方法吗?
HashMap<String, String[]> SddcWithViolations = null;
String[] str1 = { str[1], str[2] } ;
SddcWithViolations.put(str[0], str1 );
答案 0 :(得分:0)
您需要创建实例,否则您将获得NPE
。还可以使用提供额外方法的Map
接口。试试这个:
Map<String, String[]> sddcWithViolations = new HashMap<>();;
String[] str1 = { str[1], str[2] } ;
sddcWithViolations.put(str[0], str1 );
但我在这里看不到Map
的任何需要。 List
没问题。
Arrays.asList(str1);
答案 1 :(得分:0)
您可以使用匿名类在一个语句中初始化值并将值放入Map。
String[] str = {"one", "two", "three"};
Map<String, String[]> SddcWithViolations = new HashMap<String, String[]>(){{
put(str[0], new String[]{str[1], str[2]});
}};
SddcWithViolations.forEach((key, value) -> System.out.println(key + " => " + Arrays.asList(value)));
输出:
一个=&gt; [二,三]