class A {
public static void main(String...args) {
Integer var = 10;
if(var instanceof Character) // Line1
System.out.println("var is a Character");
}
}
so Linea 1 non verrà compilato perché il compilatore ha scoperto che var
non è un Character
.instanceof in Java - perché questo non viene compilato?
Quello che non riesco a capire è perché il compilatore genera un errore invece di restituire false
o true
.
Se il compilatore restituisce false
o true
(cioè trattare l'operazione instanceof
come un normale convalida sulla base se-), allora molto più utile .. non è vero?
O mi manca qualcosa di ovvio?
Modifica 'Numero intero var = 10;' a 'Oggetto var = 10;'. Il compilatore ti sta dicendo che 'var' può ** mai ** essere' instanceof Character' se lo dichiari come 'Integer'. –
Perché è down down? È una domanda abbastanza legittima. –
@RohitJain I miei pensieri esattamente. –