"Ciao, Amigo! Hai già conosciuto l' operatore instanceof . Oggi ti dirò come e dove può essere utilizzato. instanceof è un operatore molto semplice ed efficiente."
"Sembra una pubblicità!"
"È davvero molto semplice. Si usa così: «object» instanceof «class» ."
Controlla se un oggetto è un'istanza di una particolare classe. È più facile che spiegarlo. Guarda questo esempio:
Codice | Descrizione |
---|---|
|
isInt sarà true . L'oggetto a cui fa riferimento la variabile o è un'istanza della classe Integer . |
|
isInt sarà falso . L'oggetto a cui fa riferimento la variabile o non è un'istanza della classe Integer . È un oggetto String . |
|
isFIS sarà vero . L'oggetto a cui fa riferimento la variabile o è un'istanza della classe FileInputStream . |
"Sì, è molto semplice."
"Questo operatore tiene conto anche dell'ereditarietà. Dai un'occhiata."
Codice | Descrizione |
---|---|
|
Qui abbiamo tre dichiarazioni di classe: Animale, Gatto e Tigre. Il gatto eredita l'animale. E Tiger eredita Cat. |
|
isCat sarà vero . isTiger sarà vero . isAnimal sarà vero . |
|
isCat sarà falso . isTiger sarà falso . isAnimal sarà vero . |
E anche interfacce:
Codice | Descrizione |
---|---|
|
Crea due classi: Cat, TomCat e l'interfaccia mobile |
|
isCat sarà vero . isMoveable sarà true . isTom sarà vero . |
|
isCat sarà vero . isMoveable sarà false . isTom sarà falso . |
L'operatore instanceof ha questo aspetto: a instanceof B .
In altre parole, l' operatore instanceof restituirà true se:
1) la variabile a memorizza un riferimento a un oggetto di tipo B
2) la variabile a memorizza un riferimento a un oggetto la cui classe eredita B
3) la variabile a memorizza un riferimento a un oggetto che implementa l'interfaccia B
In caso contrario, l' operatore instanceof restituirà false .
"Capito. Allora perché è necessario, zio Rishi?"
"Ellie te ne parlerà oggi. Questo è davvero un bravo operatore. Ne sarai convinto oggi."
GO TO FULL VERSION