¿Cómo verificar si una subclase es una instancia de una clase en tiempo de ejecución? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Compruebe si un objeto de clase es una subclase de otro objeto de clase en Java 6 respuestasEn una suite de prueba de aplicaciones de Android tengo una clase como esta dondeB
es una vista:
public class A extends B {
... etc...
}
ahora tengo una lista de objetos de vista que pueden contenerA
objetos, pero en este caso solo me importa si son subclases o "instancias de"B
. Me gustaría hacer algo como:
ArrayList<View> viewList = getViews();
Iterator<View> iterator = viewList.iterator();
while (iterator.hasNext() && viewList != null) {
View view = iterator.next();
if (view.getClass().isInstance(B.class)) {
// this is an instance of B
}
}
El problema es que cuando elif
encuentra unA
objetar que no evalúa a una "instancia deB
". ¿Hay alguna manera de hacerlo?isSubclassOf
¿o algo?