2008-10-01 8 views

Respuesta

12

Class.isAssignableFrom() proporciona más o menos lo que está buscando, aunque también maneja las interfaces, por lo que puede necesitar hacer un poco más de trabajo para asegurarse de que sea una subclase, directa o no.

+0

Me confundí sobre qué clase era qué, leyendo el javadoc para ese método. Para poner esto aquí en beneficio de todos los demás: Si tiene 'clase SubClass extends SuperClass':' SuperClass.class.isAssignableFrom (SubClass.class) 'es verdadero, mientras que' SubClass.class.isAssignableFrom (SuperClass.class) 'es falso. Por lo tanto, es un poco al revés del método ficticio 'isSubClassOf' de OP. – MatrixFrog

-6

instanceof operator, IIRC.

Sin embargo, nunca debes hacer esto. Agregue un método a la clase aplicable y termine con él.

+2

No, instanceof es para comparar instancias de clases, no las clases mismas. – skaffman

+0

Si no tiene una instancia, entonces esto es probablemente académico. Si lo haces, esto funcionará. – Marcin

+1

No, no lo hará. instanceof y isAssignableFrom() son profundamente diferentes. – skaffman

Cuestiones relacionadas