mam część kodu:Dlaczego przypisanie wartości pustej z trójskładnikowej instrukcji do zmiennej Boolean powoduje wyświetlenie NPE?
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);
}
Kiedy defaultValue
nie jest równa null
kod działa poprawnie, ale kiedy defaultValue
jest null
JVM rzuca NullPointerException
. Ten kod został skompilowany przy użyciu jdk 1.6.45.
Dlaczego otrzymałem ten wyjątek?
Ponieważ w Javie wartość logiczna nie może być null. – Titus
@ Titus ale Boolean może boolean nie może –
co próbujesz zrobić w Ternary Operator? –