如何在初始化时用Java填充HashMap,可能是这样的吗?
public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};
答案 0 :(得分:57)
byte,int是原始的,集合在对象上工作。你需要这样的东西
public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() {
{
put(new Byte("1"), 1);
put(new Byte("2"), 2);
}
;
};
这将创建一个新地图并使用initializer block它将调用put方法来填充数据
答案 1 :(得分:2)
首先,您不能将原语作为Java中的泛型类型参数,因此Map<byte,int>
是不可能的,它必须是Map<Byte,Integer>
。
第二,不,现在Java中没有集合文字,尽管它们被视为Project Coin中的新功能。不幸的是,他们从Java 7中删除了,你必须等到Java 8 ......