我剛剛轉向使用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>>
的實例。
有沒有辦法做到這一點?或者是否有禁忌的仿製藥限制?
我實際上正在考慮一個特定的場景,它應該做你想做的事情(並且編輯我的答案以表明清楚),但是否則,是的。 –