这个Java错误是什么意思?

前端之家收集整理的这篇文章主要介绍了这个Java错误是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
java.lang.IndexOutOfBoundsException: Index: 1365,Size: 1365
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.Engine.write(Engine.java:114)
at com.Engine.read(Engine.java:90)
at com.Engine.main(Engine.java:19)

我明白我的阵列是超出范围,但是是什么

指数:1365,大小:1365

表明?

我该怎么办?只是增加我的数组的大小?

解决方法

-Size是数组的大小(可容纳的元素的数量).

-Index是您尝试访问的位置.

注1:由于第一个索引为0,因此您在哪里尝试访问数组的最大值,这就是为什么您得到该异常

FIX选项1

解决这个异常,在你使用循环来操纵元素的情况下,你可以这样做:

for(int i = 0; i < array.length; i++) {
   array[i].doSomething();
}

FIX选项2

正如你所说的增加尺寸将是另一个选择.你只需要这样做:

MyArray[] ma =  new MyArray[1366];


这将不是很灵活,以防你以后再次增加它.因此,避免这种情况的另一个选择是使用一些更高级的数据结构或集合,如List,因为它们在需要时自动增加.
有关数据结构的更多信息,请参见:http://tutorials.jenkov.com/java-collections/index.html

示例1创建:

List<MyObject> myObjects =  new ArrayList<MyObject>();

示例2迭代:

for(MyObject mo : myObjects) {
     MyObject tmpValue = mo;
    mo.doSomething();  
   }

猜你在找的Java相关文章