Java中ArrayIndexOutOfBoundsException 异常报错的解决方案

 更新时间:2023年06月16日 09:46:40   作者:李三岁~  
本文主要介绍了Java中ArrayIndexOutOfBoundsException 异常报错的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、ArrayIndexOutOfBoundsException异常报错原因分析

ArrayIndexOutOfBoundsException 数组下标越界异常

异常报错信息案例:

案例1:

请添加图片描述

案例2:

异常错误描述:

错误原因:数组下标越界异常;超出了数组下标的取值范围,数组下标的取值范围是 [0,arr.length-1],即 0 ~ 数组的长度-1,而上述的两个错误都是我们在访问数组元素时,超出了数组下标的取值返回。

ArrayDemo
案例1:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        arr[5] = 100;
    }
}

ArrayDemo
案例2:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        for (int i = 0; i <= arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

上述为错误代码,项目结构见上述两张图片

二、ArrayIndexOutOfBoundsException解决方案

解决思路:这里,我们只需要检查我们在访问的数组元素,何时出现了数组下标超出了其取值范围并改正即可

案例1:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        arr[4] = 100;
    }
}

案例2:

第一种方式:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

第二种方式:

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[5];
        for (int i = 0; i <= arr.length-1; i++) {
            System.out.println(arr[i]);
        }
    }
}

到此这篇关于Java中ArrayIndexOutOfBoundsException 异常报错的解决方案的文章就介绍到这了,更多相关Java ArrayIndexOutOfBoundsException 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Mybatis注解写法(附10余个常用例子)

    详解Mybatis注解写法(附10余个常用例子)

    这篇文章主要介绍了详解Mybatis注解写法(附10余个常用例子),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • java实现马踏棋盘游戏

    java实现马踏棋盘游戏

    这篇文章主要为大家详细介绍了java实现马踏棋盘游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • SpringBoot响应处理之以Json数据返回的实现方法

    SpringBoot响应处理之以Json数据返回的实现方法

    这篇文章主要介绍了SpringBoot整合Web开发其中Json数据返回的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • 详解SpringMVC的两种实现方式

    详解SpringMVC的两种实现方式

    这篇文章主要介绍了SpringMVC的两种实现方式,方式一是通过实现Controller接口,方式二是使用注解开发,本文结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • Java中的内存泄露问题和解决办法

    Java中的内存泄露问题和解决办法

    大家好,本篇文章主要讲的是Java中的内存泄露问题和解决办法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 在es中查询null值的操作方法

    在es中查询null值的操作方法

    在我们向es中写入数据时,有些时候数据写入到es中的是null,或者没有写入这个字段,那么这个时候在es中该如何查询出这种为null的数据呢,本文给大家详细讲解,需要的朋友参考下吧
    2023-02-02
  • java开发CPU流水线与指令乱序执行详解

    java开发CPU流水线与指令乱序执行详解

    这篇文章主要为大家介绍了java开发CPU流水线与指令乱序执行详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 编译期动态替换三方包中的Class文件过程详解

    编译期动态替换三方包中的Class文件过程详解

    这篇文章主要为大家介绍了编译期动态替换三方包中的Class文件过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Java中StringBuilder常用构造方法解析

    Java中StringBuilder常用构造方法解析

    这篇文章主要介绍了Java中StringBuilder常用构造方法解析,StringBuilder是一个可标的字符串类,我们可以吧它看成是一个容器这里的可变指的是StringBuilder对象中的内容是可变的,需要的朋友可以参考下
    2024-01-01
  • ShardingSphere-Proxy5搭建使用过程分析

    ShardingSphere-Proxy5搭建使用过程分析

    ShardingSphere-Proxy是跨语言的数据库代理服务端,主要用来处理:分表、分库、读写分离 等,这篇文章主要介绍了ShardingSphere-Proxy5搭建使用过程,需要的朋友可以参考下
    2022-10-10

最新评论