在创建过程中填充哈希映射

2022-09-01 16:44:49

可能的重复:
如何在Java中初始化静态映射

如何在初始化时在Java中填充HashMap,是否有可能这样的事情?

public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};

答案 1

byte,是基元的,集合在对象上工作。你需要这样的东西:int

public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() {{
    put(new Byte("1"), 1);
    put(new Byte("2"), 2);
}};

这将创建一个新的,并使用初始值设定项块,它将调用 put 方法来填充数据。map


答案 2

首先,你不能在Java中使用基元作为泛型类型参数,所以这是不可能的,它必须是.Map<byte,int>Map<Byte,Integer>

其次,不,目前Java中没有集合文字,尽管它们被认为是Project Coin中的新功能。不幸的是,它们从Java 7中删除,您必须等到Java 8...