java - 检查 Class 对象是否是 Java 中另一个 Class 对象的子类型?

标签 java class inheritance

假设我有两个 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.
 }

最佳答案

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

这会检查 clazz1 是否相同,或者是 clazz2 的父类(super class)。

关于java - 检查 Class 对象是否是 Java 中另一个 Class 对象的子类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10345061/

相关文章:

java - 如何对哈希函数进行逆向工程

java - 存储嵌套列表

c# - 为什么在 C# 中允许覆盖静态方法

c++ - 了解一个简单的 C++ 类结构

java - JScrollPane 内 JPanel 上的鼠标坐标偏移

java - 如何为 Java 11 HttpRequest 创建自定义 BodyPublisher

c++ - 类的常规实例可以调用常量函数吗?

c++ - 类定义和内存分配

java - 当涉及内部类时,Java 继承如何工作

java - 在 Web 应用程序中为每个用户创建日志文件好吗