我的代码如下所示:
SomeType first = null;
if(true){
first = new SomeType();
}
first.setSomething();
在这种情况下,我将在运行时的最后一行收到NullPointerException
,但在调试时会收到 NOT 。似乎if语句之后的代码执行仍在继续,尽管if语句没有完全处理。当我将代码更改为:
SomeType first = new SomeType();
first.setSomething();
运行时的代码执行似乎与编译时的预期顺序不一致。在上面的例子中,我总是希望在调用“.setSomething()”之前实例化“first”?