【问题标题】:Checking if a Class object is a subtype of another Class object in Java?检查一个 Class 对象是否是 Java 中另一个 Class 对象的子类型?
【发布时间】:2012-05-07 20:56:59
【问题描述】:

假设我有两个 Class 对象。有没有办法检查一个类是否是另一个类的子类型?

 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.
 }

【问题讨论】:

标签: java class inheritance


【解决方案1】:

你可以这样检查:

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

}

【讨论】:

    【解决方案2】:
    if (clazz1.isAssignableFrom(clazz2)) {
        // do stuff
    }
    

    这会检查 clazz1 是否相同,或者是 clazz2 的超类。

    【讨论】:

      猜你喜欢
      • 2011-06-02
      • 2021-08-17
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多