首页 > 解决方案 > Java Vector - 数组索引超出范围

问题描述

这似乎微不足道,但也许我对 Vectors 的理解不是它应该的样子。我在这段代码中得到[java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 1] 。错误出现在第 3 行。既然看是基于 Vector 的大小,那么数组怎么会越界呢?

方法“getChangeSets()”返回一个列表。List 最初是作为 Vector 创建的。

2   for (int i = 0; i < getChangeSets().size(); i++) {
3       ChangeSet currentChangeSet = getChangeSets().get(i);
4       if (currentChangeSet.getSequentialNumber() == sequentialNumber) {
5           return currentChangeSet;
6       }
7   }

标签: javavectorindexoutofboundsexception

解决方案


请在迭代之前将变更集分配给变量。

List<ChangeSet> list = getChangeSets();
for (int i = 0; i < list.size(); i++) {
    ChangeSet currentChangeSet = list.get(i);
    if (currentChangeSet.getSequentialNumber() == sequentialNumber) {
        return currentChangeSet;
    }
}

推荐阅读