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");
}
错误:报空指针异常 展开
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");
}
错误:报空指针异常 展开
4个回答
展开全部
泛型不支持创建数组,原因如下:
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!~
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!~
展开全部
Map<String,String>[] map=new Map[5]
这样是错误的,Map是接口,接口不能用new实例化
只能引用其子类创建对象,比如:
Map<String,String> map = new HashMap<String,String>();
希望对你有帮助
这样是错误的,Map是接口,接口不能用new实例化
只能引用其子类创建对象,比如:
Map<String,String> map = new HashMap<String,String>();
希望对你有帮助
追问
我要的是多个Map组成List...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
想想map的原理是什么米就懂啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问专家
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询