Avatar ·

Java中的null/nil是什么以及如何处理它?

大家好!我正在学习Java基础,遇到了null的概念。在一些语言中(例如SQL或Go),我习惯用术语nil。我理解得对吗:Java中没有nil,只使用null?如果是这样,那它到底是什么——空引用还是特殊值?

问题出现在我写了一个简单的User类代码,并试图调用一个未初始化对象的方法时:

public class User {
    String name;

    void printName() {
        System.out.println(name.length());
    }

    public static void main(String[] args) {
        User user = null;
        user.printName(); // 这里抛出NullPointerException
    }
}

我原本以为如果user等于null,方法就什么都不做或返回空字符串。但程序却崩溃并报错。

我已经尝试过:

  • 检查