你如何检查是否classinstance已创建/初始化或是null?
private MyClass myclass;
if(!check class has been initialised) //<- What would that check be?
myclass = new MyClass();
Run Code Online (Sandbox Code Playgroud)
提前致谢
Eri*_* J. 14
只需检查它是否为空
if (myclass == null)
Run Code Online (Sandbox Code Playgroud)
正如你的评论所述,
if (myclass.Equals(null))
Run Code Online (Sandbox Code Playgroud)
将无效,因为如果myclass为null,则转换为
if (null.Equals(null))
Run Code Online (Sandbox Code Playgroud)
这导致了NullReferenceException.
顺便说一下,类范围中声明的对象会被编译器自动初始化为null,所以你的行:
private MyClass myclass;
Run Code Online (Sandbox Code Playgroud)
是相同的
private MyClass myclass = null;
Run Code Online (Sandbox Code Playgroud)
在方法中声明的对象被强制分配一些初始值(即使该初始值为null).