ArrayIndexOutOfBoundsException是Java运行时下标越界异常,表现为访问负数或≥array.length的索引;常见于循环边界错误、未校验外部输入、多线程竞争等场景,应始终用arr.length校验且循环条件用
Java数组下标越界错误的典型表现
运行时抛出 ArrayIndexOutOfBoundsException,堆栈里明确指出访问了负数或 ≥ array.length 的索引。这不是编译错误,所以容易漏测——尤其在循环边界、嵌套计算索引、或从外部输入解析下标时。
常见触发场景包括:
for (int i = 0; i (多跑一次)-
arr[arr.length]或arr[-1] - 使用
Scanner.nextInt()读入索引但未校验范围 - 多线程共享数组且未同步读写位置
用 length 和边界检查代替“凭经验”硬编码
Java数组长度不可变,arr.length 是唯一可信依据。别假设“这个数组肯定有10个元素”。
实操建议:
立即学习“Java免费学习笔记(深入)”;