相关疑难解决方法(0)

非初始化和初始化为null之间有什么区别?

我有这个代码:

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吗?

谢谢

java initialization

18
推荐指数
1
解决办法
7718
查看次数

标签 统计

initialization ×1

java ×1