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,方法就什么都不做或返回空字符串。但程序却崩溃并报错。
我已经尝试过:
- 检查