为什么 Java 在声明基元数据类型时不允许 null
这是延续了我之前的问题,并增加了这个问题的答案 包装类的声明
Java将基元数据类型包装到包装类中,那么为什么
char c = null; // invalid
int i = null; // invalid
不允许,但
Character cObj = null; // valid
Integer iObj = null; // valid
是允许的。
这是延续了我之前的问题,并增加了这个问题的答案 包装类的声明
Java将基元数据类型包装到包装类中,那么为什么
char c = null; // invalid
int i = null; // invalid
不允许,但
Character cObj = null; // valid
Integer iObj = null; // valid
是允许的。
因为基元表示值,Object 变量表示对复杂数据对象的引用(类似于指针)。没有空值一般,它是一个特殊的关键字,“引用什么都没有”或空引用 - 这是非常不专业的答案,但我想这将是最合适的。
此外,您认为 null 的数值可能是什么?0?-1?但是,这些是有效的整数,那么还有什么呢?
我强烈建议您开始熟悉以下复杂的java教程。您一直在询问的每个方面都在那里进行了解释,并附有示例。
null
意思是“缺乏对象”。引用可以缺少对象,基元不能。