java中的null是值还是对象

关于java中null是一个对象还是一个值?

阅读 5.3k
3 个回答

严格讲既不是基础类型也不是对象类型,是一个特殊的类型,并可以看作允许cast成任意类型的对象。
Java Language Specification Chapter 4

There is also a special null type, the type of the expression null, which has no name. Because the null type has no name, it is impossible to declare a variable of the null type or to cast to the null type. The null reference is the only possible value of an expression of null type. The null reference can always be cast to any reference type. In practice, the programmer can ignore the null type and just pretend that null is merely a special literal that can be of any reference type.

不是对象, 是一个特殊的值.

String s = (String)null; // no error.
((String)null).valueOf(0); // 调用String.valueOf(int)

Integer i = (Integer)null; // no error.
int i2 = null; // error.

是空对象吧,你console.log(type of null)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏