为了账号安全,请及时绑定邮箱和手机立即绑定

Android开发中数组越界异常。

Android开发中数组越界异常。

蜡笔小新的Qe 2018-05-05 10:36:04
private List<Map<String,Object>> getData(HashMap freList){     int i=0;     int k=freList.size();     Object[] keys =  freList.keySet().toArray();     Object[] values =  freList.values().toArray();     for (i=0;i<k;i++){         System.out.println("--------"+i+"---------");         System.out.println("--------"+keys[i]+"---------");         System.out.println("--------"+values[i]+"---------");     }     for(i=0;i<k;i++);{         Map<String,Object>map=new HashMap<String, Object>();         map.put(""+keys[i],values[i]);         System.out.println("--------"+keys[i]+"---->"+values[i]+"---------");         dateList.add(map);     }     return dateList; } 上边的代码是我将hashMap放入数据源的一个方法,datalist是一个map集合。app运行时会循环调用这个方法。奇怪的是: 当我注释掉第二个for循环,不会报数组越界的异常;可注释掉第一个for循环就会报数组越界的异常:java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 恳请各位大神拯救一下我这个萌新!
查看完整描述

2 回答

已采纳
?
慕移动4708697

TA贡献45条经验 获得超22个赞

 for(i=0;i<k;i++);{ 把分号去掉就可以了啊 。。

查看完整回答
反对 回复 2018-05-25
?
什么都不懂的小白_

TA贡献4条经验 获得超1个赞

第二个for循环括号后怎么会有个分号

查看完整回答
反对 回复 2018-05-25
  • 2 回答
  • 0 关注
  • 1350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信