java - 获取 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)?
}
}
解决方案
您想要的将涉及在运行时确定通用参数。由于类型擦除,这是不可能的。
推荐阅读
- git - 从 heroku buildpack 定位二进制文件时遇到问题
- c# - IdentityServer4 中带有授权代码流的“Invalid_grant”错误
- botframework - MS Teams 中的 OAuth 卡?
- python - 如何从json字典中的节点中提取属性?
- haskell - (l, r)之前的~是什么意思
- java - TableColumn #setCellValueFactory 用于具有 HashMaps 的类
- css - 使用 Angular 切换 div 类的可见性
- javascript - 双引号内的单引号弄乱了javascript代码
- c# - 如何修复“枚举约束失败”?
- python-3.x - 使用 ImageDataGenerator() 处理医学图像