所以我将这个hashmap与key作为String,并将值保存为整数数组。
HashMap<String, Integer[]> h = new HashMap<String, Integer[]>();
h.put("PID", new Integer[] {3, 5});
我首先尝试int
,但后来我读到某些原始类型不能用于泛型。
所以,Eclipse说
Multiple markers at this line
- Syntax error on token(s), misplaced construct(s)
- Syntax error on tokens, ConstructorHeaderName expected
instead
- Syntax error on tokens, delete these tokens
为第二行。第一行很好。
答案 0 :(得分:1)
此语句必须在任何函数或构造函数内执行。您无法在全局空间中插入,删除或更新。
这是一个声明,你不能在你想要的地方写声明
h.put(“PID”,new Integer [] {3,5});
同样,你不能执行下面的语句,因为int []是一个原始数组,而Integer []是一个整数对象的文件。你已经声明了key,value == String,Integer []所以你不能插入int [] array
h.put(“PID”,new int [] {3,5});
再次,Java Hashmap不支持原始数据类型。您必须使用Object作为Hashamp的键或值。
答案 1 :(得分:1)
此代码适用于我:
import java.util.HashMap;
public class HelloWorld{
public static void main(String []args){
HashMap<String, int[]> h = new HashMap<String, int[]>();
h.put("PID", new int[] {3, 5});
System.out.println(h.get("PID")[0]); //prints "3"
System.out.println(h.get("PID")[1]); //prints "5"
}
}