Ho un parte di codice come questo:Perché l'assegnazione di un valore nullo da un'istruzione ternaria a una variabile booleana genera un valore 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);
}
Quando defaultValue
non è uguale a null
il codice funziona bene, ma quando è defaultValue
null
JVM tiri un NullPointerException
. Questo codice è stato compilato usando jdk 1.6.45.
Perché ho ricevuto questa eccezione?
Perché in Java un valore booleano non può essere null. – Titus
@Titus ma Boolean può booleano non può –
cosa stai cercando di fare nell'operatore ternario ?? –