Java是否在单个线程中按顺序执行代码?

时间:2017-05-17 10:58:26

标签: java nullpointerexception semantics

我的代码如下所示:

SomeType first = null;
if(true){
   first = new SomeType();
}
first.setSomething();

在这种情况下,我将在运行时的最后一行收到NullPointerException,但在调试时会收到 NOT 。似乎if语句之后的代码执行仍在继续,尽管if语句没有完全处理。当我将代码更改为:

时,一切都在运行时工作
SomeType first = new SomeType();
first.setSomething();

运行时的代码执行似乎与编译时的预期顺序不一致。在上面的例子中,我总是希望在调用“.setSomething()”之前实例化“first”?

0 个答案:

没有答案