以下代码由于某种原因失败,并出现NullPointerException,我不确定为什么:
import java.util.*;
public class MyClass {
public static void main(String args[]) {
Long x = null;
Long test = (true) ? x : 0L; //Fails here with NullPointerException
}
}
但是,如果我在条件运算中将x替换为null,它将起作用
import java.util.*;
public class MyClass {
public static void main(String args[]) {
Long x = null;
Long test = (true) ? null : 0L; //WORKS - replaced x with null
}
}
有人可以帮助我了解这里的情况吗?还是Java bug。