Mic*_*Kay 6 java ternary-operator
我刚刚注意到的一种好奇心,而不是一个问题.
我不被允许写
public boolean x() {
return null;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
public boolean x() {
if (DEBUG) {
return true;
} else {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
但我被允许写
public boolean x() {
return DEBUG ? true : null;
}
Run Code Online (Sandbox Code Playgroud)
为什么是这样?(如果采用"else"分支,它似乎会抛出NPE.)