我刚刚转向使用Java泛型,因此我不确定是否我要求 是正确的问题。类<T>为Java中的通用?
我试图使用以下方法:
public <T> ResponseEntity<T> exchange(String url,
HttpMethod method,
HttpEntity<?> requestEntity,
Class<T> responseType,
Object... uriVariables)
throws RestClientException
对于<T>
型我已经提供了Response<MyDTO>
,所以我的方法调用看起来像:
ResponseEntity<Response<MyDTO>> re = exchange(...)
我无法工作,如何为Class<T> responseType
参数提供正确的值?
我知道java中的泛型经历了类型擦除,因此您不应该能够在运行时通过反射来确定类型,但我知道我想提供的确切类型。
我见过How to get a class instance of generics type T的许多变体,它们将传递类类型作为构造函数参数。
但我无法弄清楚如何制作Class<Response<MyDTO>>
的实例。
有没有办法做到这一点?或者是否有禁忌的仿制药限制?
我实际上正在考虑一个特定的场景,它应该做你想做的事情(并且编辑我的答案以表明清楚),但是否则,是的。 –