java - 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 }
解决方案
请在迭代之前将变更集分配给变量。
List<ChangeSet> list = getChangeSets();
for (int i = 0; i < list.size(); i++) {
ChangeSet currentChangeSet = list.get(i);
if (currentChangeSet.getSequentialNumber() == sequentialNumber) {
return currentChangeSet;
}
}
推荐阅读
- c# - 如何使用 Substitute 模拟 HttpClient
- sql - 当 GROUPBY 的 SUM 不返回实体时返回值 0 - Sequelize ORM
- javascript - 关于html中的“段落滑动”
- android - 如何正确地将数据发送到长时间工作的服务?
- javascript - 在这个 JavaScript 函数中如何减少重复代码的使用?使用事件侦听器检查不同 div 中的所有检查输入
- python - Python Pandas:是否可以将“for.....in......”命令直接应用于 DATAFRAME 列,而不是 LIST?
- javascript - 更新由 REACTJS 中的数组映射呈现的输入标签
- sql - SQL VBA - 从不存在的地方删除
- wordpress - 更改 Woocommerce My-Account Slug/永久链接
- python - 为什么 crontab 不运行 python 脚本