2012-04-27 29 views
5

Giả sử tôi có hai đối tượng Class. Có cách nào để kiểm tra xem một lớp là một kiểu phụ của lớp kia không?Kiểm tra xem đối tượng Class có phải là một kiểu con của một đối tượng Class khác trong Java không?

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

Bạn đang tìm kiếm: http://stackoverflow.com/questions/3504870/how-to-test-if-one-java-class-extends-another -trong thời gian chạy – JRaymond

Trả lời

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

kiểm tra này nếu clazz1 là như nhau, hoặc một lớp cha của clazz2.

1

Bạn có thể kiểm tra như thế này:

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

} 
Các vấn đề liên quan