I know that null is not a data type.
But null
can be only assigned for any type of Object
and String
.
Example:
Object o = null; // it tells that null is an object
String b = null; // it tells that null is of string type
Neither of those comments is correct. All that's happening here is that references are being set to null.
The null
reference and keyword are Java built-in constructs and are treated specially by the compiler. The compiler then emits the corresponding bytecode instructions depending on the context which null
is used in.
Note that this behavior is different from older languages such as C or C++03 where NULL pointer was simply a zero constant.