Ich habe einen Teil von Code wie folgt:Warum wirft ein NULL-Wert aus einer ternären Anweisung einer Booleschen Variablen eine NPE zu?
public static void main(String[] args) throws Exception {
String trueValue = Boolean.TRUE.toString();
String fieldValue = null;
Boolean defaultValue = null;
Boolean value = (fieldValue != null ? trueValue.equalsIgnoreCase(fieldValue) : defaultValue);
System.out.println(value);
}
Wenn defaultValue
nicht gleich null
ist der Code funktioniert gut, aber wenn defaultValue
null
ist die JVM wirft einen NullPointerException
. Dieser Code wurde mit jdk 1.6.45 kompiliert.
Warum habe ich diese Ausnahme?
Da in Java ein boolean Wert nicht null sein kann. – Titus
@Titus aber Boolean kann Boolean kann nicht –
Was versuchen Sie in ternary Operator zu tun? –