我有这个代码:
MyClass object;
.... some code here where object may or may not be initialised...
if (object.getId > 0) {
....
}
Run Code Online (Sandbox Code Playgroud)
这导致编译错误:object可能尚未初始化,这是公平的.
现在我将我的代码更改为:
MyClass object;
.... some conditional code here where object may or may not be initialised...
if (object != null && object.getId > 0) {
....
}
Run Code Online (Sandbox Code Playgroud)
我得到相同的编译错误!我必须初始化object为null:
MyClass object = null;
Run Code Online (Sandbox Code Playgroud)
那么,不初始化对象和初始化为null之间的区别是什么?如果我声明一个没有初始化的对象,那么它不是null吗?
谢谢