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

理查德·H:

我有这个代码:

MyClass object;

.... some code here where object may or may not be initialised...

if (object.getId > 0) {
    ....
}

这会导致编译错误:object可能尚未初始化,这很公平。

现在,我将代码更改为:

MyClass object;

.... some conditional code here where object may or may not be initialised...

if (object != null && object.getId > 0) {
     ....
}

我得到同样的编译错误!我必须初始化object为null:

MyClass object = null;

那么,不初始化对象和初始化为null有什么区别?如果我声明一个未初始化的对象,它是否为null?

谢谢

博zh:
  • 字段(成员变量)被初始化为null(或初始化为默认的原始值,如果它们是原始的)
  • 局部变量未初始化,您有责任设置初始值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

快速初始化和便捷实例之间的便利初始化与初始化之间有什么区别

所需的初始化程序和指定的初始化程序有什么区别?

用=初始化和{}初始化之间有什么区别?

静态和非静态初始化代码块有什么区别

std :: vector :: resize和直接初始化为零之间有什么区别

将向量初始化为向量<类>(值)和向量<类>[值]有什么区别

在 C++11/17 中的类初始化和直接初始化中。有什么区别?

变量初始化有什么区别?

这些对象初始化之间有什么区别?

{x}和'= {x}'初始化之间有什么区别(如果有)?

对象初始化程序和构造函数有什么区别?

RobertaTokenizer()和初始化RobertaTokenizer的from_pretrained()方法有什么区别?

骨干模型上的初始化和构造函数有什么区别

类C,构造函数和统一初始化之间有什么区别?

初始化空字符串的“”和{}有什么区别?

使用ori和addi在MIPS中初始化值之间有什么区别?

直接声明和初始化返回码之间有什么区别吗?

初始化字符串时,“ ...”和“ ...”之间有什么区别?

Dart中的构造方法和初始化方法列表有什么区别?

应用程序初始化程序和ember中的服务有什么区别?

Array.newInstance 和直接初始化有什么区别?

在初始化方面,char s[] 和 char *s 有什么区别?

R S4初始化函数中的“ .Object”和“ object”有什么区别?

如何在c中全局初始化变量,静态和外部有什么区别?

在javascript中将字符串变量初始化为null或空字符串有什么区别?首选

代码是否被视为可移植可执行格式的初始化数据,初始化数据和单元化数据之间到底有什么区别?

对于Swift语言,初始化结构与初始化类有什么区别?(我是编程的新手)

使用初始化列表初始化字段并在构造函数内部对其进行初始化之间有什么区别?

使用带有和不带有return语句的函数初始化JavaScript对象之间有什么区别?