我需要将泛型类型的类传递给类的构造函数。该类是来自 RoboSpice Android 库的SpiceRequest,用于对构造函数的引用。
在这种情况下,当可以从泛型类型本身访问它时,类需要将泛型的类传递给构造函数,这似乎很奇怪RESULT.class
,但也许我错了。无论如何,我不想更改库的代码,而是需要为 , 的泛型类型使用泛型SpiceRequest
类型Map<String, ? extends Object>
。这是我的代码:
SpiceRequest<Map<String, ? extends Object>> request =
new SpiceRequest<Map<String, ? extends Object>>(???) {
...
};
以及构造函数的签名SpiceRequest
:
public SpiceRequest(final Class<RESULT> clazz) {
...
}
为了 ???我尝试Map.class
过编译器错误:The constructor SpiceRequest<Map<String,? extends Object>>(Class<Map>) is undefined.
Map<String, ? extends Object>.class
给出错误:Syntax error on tokens, PrimitiveType expected instead
,特别是下划线? extends Object
。它也给出与 相同的错误Map.class
。
并Map.<String, ? extends Object>class
给出相同的编译器错误。
获取泛型类的正确方法是什么Class<Map<String, ? extends Object>>
?