PDA

Visualizza la versione completa : [Java]Verifica tipo


Salvatore85
26-04-2004, 22:03
Salve a tutti.
Come faccio a vedere se una variabile un istanza di una determinata classe?
Grazie!

LeleFT
26-04-2004, 22:07
C' l'operatore instanceof:


String stringa = "Ciao";

if (stringa instanceof String) {
// l'oggetto stringa istanza della classe String
} else {
// L'oggetto stringa non istanza della classe String
}


Ciao. :ciauz:

Wave
27-04-2004, 00:14
vanno bene anche Object.class.equals(Obgect2.class) e isIstance()???

LeleFT
27-04-2004, 11:22
Il metodo equals serve per confrontare due oggetti e verificare che siano uguali (ha poco a che vedere con il testare la loro appartenenza ad una certa classe, pi forte, in un certo senso).

Per quanto riguarda il metodo isInstance() della classe Class, identico all'uso dell'operatore instanceof. Questo scritto nella documentazione Java:

isInstance():

This method is the dynamic equivalent of the Java language instanceof operator

Ciao. :ciauz:

trevor
27-04-2004, 11:31
l'equals (eccetto per String e classi che lo ridefiniscono) testa se lo STESSO oggetto, non la stessa classe, quindi un new Oggetto1 oggetto e new Oggetto1 oggetto_simile, daranno probabilmente false ad un equals()

LeleFT
27-04-2004, 12:53
Originariamente inviato da trevor
l'equals (eccetto per String e classi che lo ridefiniscono) testa se lo STESSO oggetto, non la stessa classe, quindi un new Oggetto1 oggetto e new Oggetto1 oggetto_simile, daranno probabilmente false ad un equals()

Esatto... per questo ho detto che , in un certo senso, pi forte. Se equals() ritorna true significa non solo che sono due oggetti della stessa classe, ma addirittura che sono due oggetti uguali (per classi che sottopongono equals() ad override) o lo stesso oggetto.


Ciao. :ciauz:

Salvatore85
28-04-2004, 08:11
Grazie a tutti!

Loading