在java中,我们将null赋给任何这样的对象:
private Apple apple = null;
java中是否有与此null
相关的类?
因为在Apache common-lang jar中他们定义了这样的null:
public static class Null implements Serializable {
/**
* Required for serialization support. Declare serialization compatibility with Commons Lang 1.0 * * @see java.io.Serializable
*/
private static final long serialVersionUID = 7092611880189329093L;
/**
* Restricted constructor - singleton.
*/
Null() {
super();
}
/**
* <p>Ensure singleton.</p>
*
* @return the singleton value
*/
private Object readResolve() {
return ObjectUtils.NULL;
}
}
为什么他们这样做了?
或者只是一点点模式?
答案 0 :(得分:7)
在java中null
不是一个对象,因此没有类。
它确实有类型 - 请参阅MDN。
Apache创建了一个名为Null
(不是null
)的类。这是完全不同的事情。我猜他们创建了它,所以他们可以用实际对象代表null
- 这可能会使编程在某些方面更容易。
答案 1 :(得分:0)
在java中,null是关键字,而不是类或对象。