【发布时间】:2011-06-16 10:30:30
【问题描述】:
如何在初始化时用Java填充HashMap,可能是这样的吗?
public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};
【问题讨论】:
标签: java collections initialization
如何在初始化时用Java填充HashMap,可能是这样的吗?
public static Map<byte,int> sizeNeeded=new HashMap<byte,int>(){1,1};
【问题讨论】:
标签: java collections initialization
byte、int 是原始的,集合适用于对象。你需要这样的东西:
public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() {{
put(new Byte("1"), 1);
put(new Byte("2"), 2);
}};
这将创建一个新的map 并使用initializer block 调用put 方法来填充数据。
【讨论】:
new Byte((byte) 1).. 并且可能不依赖自动装箱.. 并且 init 子句末尾未使用的;.. 看起来很丑!跨度>
首先,Java 中不能将原语作为泛型类型参数,所以Map<byte,int> 是不可能的,它必须是Map<Byte,Integer>。
其次,不,目前 Java 中没有集合文字,尽管它们被视为 Project Coin 中的新功能。不幸的是,它们已从 Java 7 中删除,您必须等到 Java 8...
【讨论】: