quindi voglio controllare per vedere se una classe è assegnabile ad una classe super-che contiene molte classi secondarie, qualcosa di simileisAssignableFrom non restituisce vero per sottoclasse
public class A {
public A(){ }
}
public class B extends A {
public B(){ }
}
public class C extends B {
public C(){ }
}
public static void main() {
A a = new C();
boolean whyAmIFalse = a.getClass().isAssignableFrom(B.class);
}
Perché questo ritorno falso ? Ovviamente può essere assegnato alla classe B come
B b = (B)a
non restituisce un errore, quindi perché restituisce false. Non è la funzione che descrive se stessa come? Esiste una funzione che realizza ciò che voglio a me (cioè io sono quella classe o una sottoclasse di esso)?
Grazie signore, ho combattuto con questo per il passato come ora. Mi sento un idiota ora =). –