有一个java程序,功能是从文件中读取数据到数据库中去,文件格式为制表符区分列。运行半年多,一直正常,昨天出现问题,跟踪后发现如下问题:        取行到 arraylist a 变量正常,a.size() 2000 行,取列到arraylist b变量正常,b.size() 46行,将列变量 b 加入到行变量 a 中,输出((ArrayList)a.get(0)).size()错误,变量缩短只有5行,在输出 a 处理前加 System.out.print(((ArrayList)a.get(0)).get(10)),程序正常运行,控制台无显示。注释输出 a 处理前的System.out.print(((ArrayList)a.get(0)).get(10))程序运行错误。程序是公司的,不方便贴出来,请问有人遇到类似问题么?

解决方案 »

  1.   

    没怎么看明白,是不是arrylist产生溢出了?
      

  2.   

    你的问题确实没描述明白,想帮也帮不上阿!连个错误信息没有!用悬丝症脉确实有难度!!运行半年多,一直正常,昨天出现问题,<<你能完全确认代码没有任何改动么?>>跟踪后发现如下问题:取行到 arraylist a 变量正常,a.size() 2000 行,取列到arraylist b变量正常,b.size() 46行,将列变量 b 加入到行变量 a 中,
    <<你是怎么加的,这里会不会出现问题>>
    输出((ArrayList)a.get(0)).size()错误,变量缩短只有5行,
    <<变量缩短只有5行,这句话没弄明白是什么意思>>
    在输出 a 处理前加 System.out.print(((ArrayList)a.get(0)).get(10)),程序正常运行,控制台无显示。
    <<控制台无现实,还叫运行正常??!明显你从a取出对象时就发生了错误,可能是转型错误,你加上(BObjectType)(((ArrayList)a.get(0)).get(10))看看,BObjectType是你b中存储对象的类型>>
    注释输出 a 处理前的System.out.print(((ArrayList)a.get(0)).get(10))程序运行错误。
    <<错误原因我想不是溢出,因该是类型或空错误>>