java.lang.ArrayIndexOutOfBoundsException : 2 >= 0 异常

标签 java exception core

我正在处理一个项目并收到此错误“java.lang.ArrayIndexOutOfBoundsException: 2 >= 0” 我有与此相关的问题,我知道这是 ArrayIndexOutOfBoundsException :P 但是 看看这个示例,

import java.awt.List;
import java.util.ArrayList;


public class Oube {
    public static void main(String[] args) {

         ArrayList<String> list = new ArrayList<String>();

         list.add("Hello");
         list.add("World");
         list.add("World");

         System.out.println(list.size());
         System.out.println(list.get(0));
         System.out.println(list.get(1));
         System.out.println(list.get(2));
         System.out.println(list.get(3));
         System.out.println(list.get(4));
         System.out.println(list.get(5));
         System.out.println(list.get(6));
    }
}

我们得到以下错误, 线程“main”中的异常 java.lang.IndexOutOfBoundsException:索引:3,大小:3

这里我们看不到任何东西,x<=y

在我的代码中,我在 ArrayIndexOutOfBoundsException 之后出现 2>=0 错误 所以我的问题是,我们什么时候会得到类似 2 >= 0 的错误?

最佳答案

您正在创建一个大小为动态的 Arraylist 对象

ArrayList<String> list = new ArrayList<String>();

虽然你只添加了3个元素

list.add("Hello");
list.add("World");
list.add("World");

这将创建一个大小为 3 的 ArrayList,索引从 0 到 2。同时从大于 2 的索引调用时

 System.out.println(list.get(3));
 System.out.println(list.get(4));
 System.out.println(list.get(5));
 System.out.println(list.get(6));

您将收到一个 ArrayIndexOutOfBoundsException,因为您正在调用 ArrayList 中不存在索引或索引超出 ArrayList 范围的元素。

关于java.lang.ArrayIndexOutOfBoundsException : 2 >= 0 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17850588/

相关文章:

java - 将选项卡导航添加到我的 fragment

java - 检测服务器端 FIN 数据包

c# - 处理每次都不相同的 JSON 响应

c# - 比较where子句中的日期部分

java - java中的静态同步方法有什么用?

java - 为什么我可以调用私有(private)方法?

solr - 如何在Solr 5中创建新核心?

java - 找不到 appcompat_v7.apk

java - 将点转换为文本表示

exception - 未捕获的异常在线程中如何表现?