2012-04-27 234 views
5

比方说,我有两个Class对象。有没有办法来检查一个类是否是另一个类的子类?检查Class对象是否是Java中另一个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. 
} 
+4

您是否在寻找:http://stackoverflow.com/questions/3504870/how-to-test-if-one-java-class-extends-another特技的运行时间 – JRaymond 2012-04-27 05:12:50

回答

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

这用来检查clazz1是相同的,或者一个clazz2超类。

1

您可以检查这样的:

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

} 
相关问题