9

Class2つのオブジェクトがあるとしましょう。一方のクラスがもう一方のサブタイプであるかどうかを確認する方法はありますか?

 public class Class1 { ... }

 public class Class2 extends Class1 { ... }

 public class Main {
   Class<?> clazz1 = Class1.class;
   Class<?> clazz2 = Class2.class;

   // If clazz2 is a subtype of clazz1, do something.
 }
4

2 に答える 2

11
if (clazz1.isAssignableFrom(clazz2)) {
    // do stuff
}

clazz1これは、が同じであるか、またはのスーパークラスであるかをチェックしますclazz2

于 2012-04-27T05:12:38.173 に答える
2

次のように確認できます。

if(Class1.class.isAssignableFrom(Class2.class)){

}
于 2012-04-27T05:28:23.523 に答える