map数组实例化存值问题

我用inti=5Map<String,String>[]map=newMap[5]for(inti=0;i<=5;i++){map[i]=newHashMap<Strin... 我用 int i=5
Map<String,String>[] map=new Map[5]
for(int i=0;i<=5;i++){
map[i]=new HashMap<String,String>();
}
如此实例化
但是这map存不了值
存值方法如下

for(int j=0;j<=5;j++){
map[j].put("name","ks");

}
错误:报空指针异常
展开
 我来答
zhaotao_king
2012-07-12 · TA获得超过2455个赞
知道大有可为答主
回答量:863
采纳率:0%
帮助的人:1148万
展开全部
泛型不支持创建数组,原因如下:
1.new T[0]无法通过编译
2.泛型容器无法转化为泛型数组
如果你这样定义Map map = new Map[5]; //这样就是正确的

如果你想多个map存到一个List<Map>中
举例:
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
for(int i=0; i<5; i++) {
Map<String, String> map=new HashMap<String,String>();
map.put("name","ks");
list.add(map);
}

//输出list
for(Map<String, String> m : list) {
System.out.println(m.get("name"));
}

PS:有问题再追问吧,good luck!~
邗启3V
2012-07-12 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1394万
展开全部
Map<String,String>[] map=new Map[5]

这样是错误的,Map是接口,接口不能用new实例化
只能引用其子类创建对象,比如:
Map<String,String> map = new HashMap<String,String>();
希望对你有帮助
追问
我要的是多个Map组成List...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexingchen940
2012-12-15
知道答主
回答量:2
采纳率:0%
帮助的人:3069
展开全部
想想map的原理是什么米就懂啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13844619318
2012-07-12 · TA获得超过481个赞
知道答主
回答量:109
采纳率:0%
帮助的人:19.5万
展开全部
问专家
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式