如果我有一个带有构造函数的类,这个构造函数接受参数化的泛型类型:
public class Foo {
public Foo(Map<String, Object> data) {
...
}
}..。如果我想调用以下代码,如何引用参数化Map类:
Constructor constructor = cls.getConstructor(/*the Map class! */)(其中cls是Foo类。)
我想做一些类似的事情:
Constructor constructor = cls.getConstructor(Map<String,Object>.class);..。但这并不管用。
我相信这个问题有一个简单的答案!
发布于 2012-08-24 06:38:57
在运行时,这是:
Map<String,Object>实际上只是一个Map,没有任何参数。
呼叫
cls.getConstructor(Map.class) will be enough发布于 2012-08-24 06:39:41
您可以仅通过Map类型来引用构造函数。在运行时擦除通用参数:
Constructor constructor = Foo.class.getConstructor(Map.class);https://stackoverflow.com/questions/12100955
复制相似问题