空指针异常(NullPointerException)及解决办法

26 阅读1分钟

1. 空指针异常(NullPointerException)

核心根源:Java 中引用类型默认值是null,若未给它分配实际对象(即未执行new或未赋值有效对象),直接操作会触发异常。

解决步骤

  1. 检查引用变量是否初始化:确保使用前通过new创建对象(如String str = new String();),或赋值为非null的有效对象。

  2. 方法返回值判空:调用可能返回null的方法(如map.get(key)、数据库查询方法)后,先判断是否为null再操作。

    java

    运行

    String result = queryData(); // 可能返回null的方法
    if (result != null) { // 先判空
        System.out.println(result.length());
    }
    
  3. 使用工具类简化判空:JDK 8 + 可通过Optional类避免显式判空,例如Optional.ofNullable(result).ifPresent(s -> System.out.println(s.length()));

2. 数组越界异常(ArrayIndexOutOfBoundsException)

核心根源:Java 数组是 “固定长度 + 0 基索引”(即第一个元素索引为 0,最后一个为数组名.length - 1),访问索引超出此范围就会报错。