public class GetData {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
List<List<Object>> temp1 = new ArrayList<List<Object>>();
        public List<List<Object>> getData(String s) throws ParseException,
IndexOutOfBoundsException {
try {
LoadCsv test = new LoadCsv(s);
List<List<String>> csvList = test.readCSVFile(); List<Object> temp2 = new ArrayList<Object>();
for (int i = 14; i < csvList.size(); i++) {
ArrayList temp = (ArrayList) csvList.get(i);
int j = 0;
// Object[] data1 = { 1, temp.get(2),
// sdf.parse((String) temp.get(1)), " ", temp.get(5),
// new Float(2), new Boolean(false), " ", "已付款", " " };
System.out.println(temp.get(2));
temp2.add(j++);
temp2.add(temp.get(2));
temp2.add(sdf.parse((String) temp.get(1)));
temp2.add(" ");
temp2.add(temp.get(5));
temp2.add(new Float(2));
temp2.add(new Boolean(false));
temp2.add(" ");
temp2.add("已付款");
temp2.add(" ");
temp1.add(temp2);
temp2.clear();
}
// Iterator it = list.iterator();
// while(it.hasNext()){
// Object s1 = it.next();
// System.out.print(s1);
// } } catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IndexOutOfBoundsException e) {
e.printStackTrace();
} return temp1;
}为什么会抛出java.lang.IndexOutOfBoundsException: Index: 2, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source) 异常?
提示是temp2.add(temp.get(2));这里错了  纠结好久了 不知道怎么办~~~~~~~
该怎么处理啊?

解决方案 »

  1.   

      你输出下那个List就知道了。。
      

  2.   

    输出哪个LIST啊?temp这个LIST可以输出啊~~~~~~~  System.out.println(temp.get(2));这一句都正常运行了啊~~~ 
      

  3.   

    有啊  在for循环里面加了一句System.out.println("temp:"+temp);
    输出:
      

  4.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
      

  5.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
    那没数据 怎么循环能打出数据啊?  求指点 说明白点嘛  我小白~~~~还有既然没数据怎么把数据加进去啊~~怎么改啊? 
      

  6.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
      哦 我明白了  知道了 谢谢  
      

  7.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
    那没数据 怎么循环能打出数据啊?  求指点 说明白点嘛  我小白~~~~还有既然没数据怎么把数据加进去啊~~怎么改啊? 这句话 ArrayList temp = (ArrayList) csvList.get(i);不是在循环里面的嘛,每次都会给他从新赋值,你打出来的值,表示前面几次循环取到值了啊,接下来没取到值,不就报错了么
      

  8.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
    那没数据 怎么循环能打出数据啊?  求指点 说明白点嘛  我小白~~~~还有既然没数据怎么把数据加进去啊~~怎么改啊? 这句话 ArrayList temp = (ArrayList) csvList.get(i);不是在循环里面的嘛,每次都会给他从新赋值,你打出来的值,表示前面几次循环取到值了啊,接下来没取到值,不就报错了么再问一下你  为什么我的temp1里面没有添加起值呢????
      

  9.   

    有个蛋啊,你这是在循环里面,你看看自己贴的图,前面的循环是打出数据了,异常出现前面的一句输出了temp:[],没数据啊。
    那没数据 怎么循环能打出数据啊?  求指点 说明白点嘛  我小白~~~~还有既然没数据怎么把数据加进去啊~~怎么改啊? 这句话 ArrayList temp = (ArrayList) csvList.get(i);不是在循环里面的嘛,每次都会给他从新赋值,你打出来的值,表示前面几次循环取到值了啊,接下来没取到值,不就报错了么再问一下你  为什么我的temp1里面没有添加起值呢????
    改了什么东西,有进入循环吗