猿问

Android开发中数组越界异常。

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
恳请各位大神拯救一下我这个萌新!


蜡笔小新的Qe
浏览 1387回答 2
2回答

慕移动4708697

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

什么都不懂的小白_

第二个for循环括号后怎么会有个分号
随时随地看视频慕课网APP

相关分类

Android
我要回答