加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

这个Java错误是什么意思?

发布时间:2020-12-14 17:48:35 所属栏目:Java 来源:网络整理
导读:java.lang.IndexOutOfBoundsException: Index: 1365,Size: 1365at 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(
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();  
   }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读