java学习之数组的两种常见错误

连接上篇java探索之堆栈区分,启下对擦除的内在探索,可以了解掌握数组出错的两种方式

package com.dreamly.day01;

/**
 * @author dreamly
 *
 */
public class ArrayTest01 {
    public static void main(String[] args) {
        int[] x=new int[3];
        x=null;//擦除掉与实例对象的联系,即不保存地址值。
        System.out.println(x[0]);
        //NullPointerException:空指针异常,当引用没有任何指向值为null的情况,该引用还在用于操作实体
        /**
         * Exception in thread "main" java.lang.NullPointerException
    at com.dreamly.day01.ArrayTest01.main(ArrayTest01.java:11)
         */
        
        int[] arr=new int[3];
        System.out.println(arr[3]);
        //ArrayIndexOutOfBoundsException:操作数组时,访问到了数组中不存在的角标00000
        /*
         * Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    at com.dreamly.day01.ArrayTest01.main(ArrayTest01.java:19)

         */
    }
}
原文地址:https://www.cnblogs.com/zhaohuan1996/p/8030325.html