java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 解决方法
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
当我们使用二维数组时,例如
public int[] testArray(int[][] nums) {
int row = nums.length;
int col = nums[0].length;
...
}
上述程序就可能会报java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 的错误,因为当二维数组为空时,它便没有所谓的nums[0]这个元素,0作为下标表示这个元素存在,而空表示不存在,也即数组越界了;解决方案就是先判断二维数组是不是空,代码如下:
public int[] testArray(int[][] nums) {
int row = nums.length;
if(row == 0) return new int[0];//int[0]即表示空;
int col = nums[0].length;
...
}
这样就解决了这个异常。
当我们使用二维数组时,例如
public int[] testArray(int[][] nums) {
int row = nums.length;
int col = nums[0].length;
...
}
上述程序就可能会报java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 的错误,因为当二维数组为空时,它便没有所谓的nums[0]这个元素,0作为下标表示这个元素存在,而空表示不存在,也即数组越界了;解决方案就是先判断二维数组是不是空,代码如下:
public int[] testArray(int[][] nums) {
int row = nums.length;
if(row == 0) return new int[0];//int[0]即表示空;
int col = nums[0].length;
...
}
这样就解决了这个异常。