首页 > 解决方案 > 获取 java.lang.Object 对象的主类(Class 对象的 T?)

问题描述

我想知道如何将一个类从一个java.lang.Object对象获取到一个特定的类,例如Cat我可能编写的类;不是直接转换为Cat,而是自动获取对象的主类并转换为主类,因为我可能会接受Object参数来接受多种类。通过Class<T>, getting T(主类的类型) 获取对象是可能的吗?

这就是我的意思:

class Cat {
    public String meowMessage = "meow";

    public void meow() {
        System.out.println(meowMessage);
    }
}

public class Main {
    public static void main(String[] args) {
        Object obj = new Cat();
        // Cat c = obj.getClass()...;
        // ^ how to get the Class object and automatically cast to the main class (Cat)?
    }
}

标签: javacasting

解决方案


您想要的将涉及在运行时确定通用参数。由于类型擦除,这是不可能的。


推荐阅读