2016-09-02 11 views
0
public class RestResponseDTO<T extends Object> { 
    private T result; 
} 

コードをパラメータクラス名を渡すことができますか?は、どのように私は、一般的なコンストラクタで、私はこれを初期化しています

PS- getForObjectあなたはこのようにメソッドを追加することができ、スプリングrestTemplateの標準機能 - http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestTemplate.html#getForObject-java.lang.String-java.lang.Class-java.lang.Object...-

+1

'clz.getClass()== Class.class' – fabian

+0

クラスCV =新しいクラスを渡すことができます。 – hedgehog

+0

ここで何をしたいですか?戻り値の型はとにかく生の型です。 – Codebender

答えて

0

です:PS

void init(Class clazz) { 
    //you initializing logic 
} 

RestResponseDTO<cv> restResponseDTO =restTemplate.getForObject(url,RestResponseDTO.class); 
restResponseDTO.init(clz); 
return restResponseDTO; 

それを呼び出す:あなたのcv変数は常に持っていますが同じ値。

0

てみてください:

ResponseEntity responseEntity = restTemplate.getForObject(URL、RestResponseDTO.class)。

と responseEntity.getBody() はあなたがのParameterType Class<?>を持つメソッドにジェネリックパラメータを持つクラスを渡すことはできませんT.

0

オブジェクト与えるだろう、あなたはTypeようなものが必要。

周りは(私が知っている唯一のものです):ジェネリックパラメータを含む具体的な型を作成してください。

class IntegerResponse extends RestResponse<Integer>{ 
    ... 
} 

そのように、あなたは)(IntegerResponse.class

関連する問題