Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有什么方法可以让学生从反思中得到教训吗?_Java_Reflection - Fatal编程技术网

Java 有什么方法可以让学生从反思中得到教训吗?

Java 有什么方法可以让学生从反思中得到教训吗?,java,reflection,Java,Reflection,有什么方法可以让学生从反思中得到教训吗? 我想做的是,我已经为hazelcast-3.2.3实现了自定义序列化程序。我不想为每个类(我需要在Hcast中存储对象)编写单独的序列化程序 我想要这个 class TestSerializer<T> { Class<T> classType; Public Test(){ classType = T.someway() //if there is any method to get that; } } 类TestSe

有什么方法可以让学生从反思中得到教训吗? 我想做的是,我已经为hazelcast-3.2.3实现了自定义序列化程序。我不想为每个类(我需要在Hcast中存储对象)编写单独的序列化程序

我想要这个

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

}
类TestSerializer{ 类类型; 公开考试(){ classType=T.someway()//如果有任何方法可以得到它; } }
因为我正在
hazelcast.xml
中配置序列化程序,所以无法在构造函数参数中传递
Class

我假设您真的在问如何在运行时获取泛型类型T的类,而不仅仅是类

最简单的方法是将它作为参数传递给构造函数,但是如果你真的,真的想通过反射来实现,你可以使用Jackson使用的一个技巧,它依赖于匿名子类。要做到这一点,请仔细阅读工作原理,尤其是


当然,我可能会对你想做的事发疯。如果我是,请纠正我:)

我假设您真的在问如何在运行时获取泛型类型T的类,而不仅仅是类

最简单的方法是将它作为参数传递给构造函数,但是如果你真的,真的想通过反射来实现,你可以使用Jackson使用的一个技巧,它依赖于匿名子类。要做到这一点,请仔细阅读工作原理,尤其是


当然,我可能会对你想做的事发疯。如果我是:)

由于类型擦除,您的
TestSerializer
无法在内部获取该类型,请更正。这些信息必须从外部提供


这意味着您必须重构如何通过配置来实现它。

由于类型擦除,您的
TestSerializer
无法在内部获取该类型。这些信息必须从外部提供


这意味着您必须重构如何通过配置完成它。

我不是在代码中创建它的对象。我正在.xml文件中配置。HazelCast调用它,hcast期望使用默认/非参数构造函数。你不能在创建
SomeInterface
的地方使用泛型来创建你想要调用的方法吗?我不是在代码中创建它的对象。我正在.xml文件中配置。HazelCast调用它,hcast期望使用默认/非参数构造函数。您不能在创建
SomeInterface
中使用泛型,并使用您想要调用的方法吗?