java - 有什么方法可以从反射中获取 Class 吗?

标签 java reflection

有没有办法从反射中获取Class? 我想做的是,我已经为 hazelcast-3.2.3 实现了自定义序列化器。我不想为每个类编写单独的序列化器(我需要将其对象存储在 Hcast 中)。

我想要这个

class TestSerializer<T> {
 Class<T> classType;
 Public Test(){
  classType = T.someway() //if there is any method to get that;
}

}

因为我在 hazelcast.xml 中配置序列化器,所以无法在构造函数参数中传递 Class

最佳答案

我假设您确实在问如何在运行时获取泛型类型 T 的类,而不仅仅是一个类。

最简单的方法是将其作为参数传递给构造函数,但如果您真的,真的想通过反射来做到这一点,您可以使用一个技巧,例如: Jackson 使用它依赖于匿名子类。为此,请阅读如何 TypeReference有效,尤其是 Super Type Tokens

当然,我可能会非常偏离你想做的事情。如果我是这样,请纠正我:)

关于java - 有什么方法可以从反射中获取 Class 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24583979/

相关文章:

java - 改造后参数

c# - 反射以查找方法是否正在使用任何特定方法

java class.forClass() 与类声明

Java线程生命周期

java - 树的构建和中序遍历 : > 2 sons

Java LibGDX 内存泄漏

java - 如何通过反射在 Java 中调用构造函数?

关闭扫描仪时出现 java.util.NoSuchElementException 错误

c# - 如何确定属性是否是具有反射的自动实现属性?

c# - 我可以创建一个仅包含对象类型的空值的 JSON 示例吗?