java.lang.ArrayIndexOutofBounds

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:13:45
小弟是初学者,现在遇到一个问题详细各位大虾们帮助下,我写了个页面用来统计数据,昨天不能统计,今天又可以了。多谢了

详细的错误是:java.lang.ArrayIndexOutofBoundsException at java.lang.System.arraycopy(Native Method) atjava.util.ArrayList.ensureCapacity(ArrayList.java:170) at
java.util.ArrayList.add(ArrayList.java:351) at com.sw.MessageDb.getMessagesByTime(MessageDb.java:110)

报错的方法是:
public ArrayList getMessagesByTime(String starTime, String endTime,
int ipage, int cpage) throws Exception {
Connection con = null;
PreparedStatement prepStmt = null;
ResultSet rs = null;
messages = new ArrayList();
messagespu = new ArrayList();

int numrow = (cpage - 1) * ipage;
try {
con = getConnection();
String selectStatement = null;

selectStatement = " select distinct operator_name, sum(success), sum(fail), sum(total) "
+ " from ihandy_count, tbl_operator"
+ " where rpt_date >=? and rpt_date

用eclipse 编程好点
可以帮你提示
不越界啊

System.out.println("数组大小"+messages.size());
这个最后打出来的数组大小是多少?
组越界的错误 应该是messages.get(i)报出来的
看一下ipage是不是比上面的数组大小大

问题补充:
1.不会
2.run的时候用debug模式 可以在代码中加断点 可以参考

报错信息为:数组索引超出范围。估计是“messagespu.add(messages.get(i));”这行出错了,设个断点看下。

你先固定的设置arraylist的大小测试一下