2008-10-01 11 views

risposta

12

Class.isAssignableFrom() fornisce più o meno ciò che si sta cercando, anche se gestisce anche le interfacce, quindi potrebbe essere necessario fare un po 'più di lavoro extra per essere sicuri che sia una sottoclasse, diretta o meno.

+0

Mi sono confuso su quale classe fosse, leggendo la javadoc per quel metodo. Per mettere questo qui per il beneficio di tutti gli altri: Se hai la classe SubClass di classe estende SuperClass': 'SuperClass.class.isAssignableFrom (SubClass.class)' è vero, mentre 'SubClass.class.isAssignableFrom (SuperClass.class)' è falsa. Quindi è un po 'il contrario del metodo fittizio 'isSubClassOf' dell'OP. – MatrixFrog

-6

instanceof operator, IIRC.

Tuttavia, si dovrebbe mai fare questo. Aggiungi un metodo alla classe applicabile e fallo con esso.

+2

No, instanceof serve per confrontare le istanze delle classi, non le classi stesse. – skaffman

+0

Se non si dispone di un'istanza, questo è probabilmente accademico. Se lo fai, funzionerà. – Marcin

+1

No, non lo farà. instanceof e isAssignableFrom() sono profondamente differenti. – skaffman

Problemi correlati