Domanda

Possibile duplicato:
Tricky Ternary Operator in Java - Autoboxing

Lo sappiamo int roomCode = null; non è consentito dal compilatore.

Allora perché il codice 1 non fornisce un errore del compilatore, quando il codice 2 lo fa.

Codice 1:

int roomCode = (childCount == 0) ? 100 : null;

Codice 2:

int roomCode = 0;
if(childCount == 0) roomCode = 100;
else roomCode = null; // Type mismatch: cannot convert from null to int

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top