fas*_*ava -1 java arrays generics map
可能重复:
Java泛型和数组初始化
如何在Java中实例化地图数组?
我知道我能做到:
Map<String, Object> map = new HashMap<String, Object>();
Run Code Online (Sandbox Code Playgroud)
所以我应该能够:
Map<String, Object>[] maps = new HashMap<String, Object>[10];
Run Code Online (Sandbox Code Playgroud)
但这不起作用,给出编译问题.
这是java中泛型的怪癖.你必须像这样声明数组:
HashMap<String, Object>[] maps = new HashMap[10];
Run Code Online (Sandbox Code Playgroud)
稍后您可以亲自创建每个地图,例如:
for(int i=0;i<10;i++)
{
maps[i] = new HashMap<String,Object>();
}
Run Code Online (Sandbox Code Playgroud)
这是擦除的结果.该数组是一个HashMaps 数组.不保留泛型类型参数.你会得到一个警告,但它会编译,你可以用@SuppressWarning("unchecked")注释来抑制警告.
| 归档时间: |
|
| 查看次数: |
1721 次 |
| 最近记录: |