我对我正在执行的实现感到困惑。这对此我想的方法来调用使用泛型实现类
<I, O, T> T post(String url, I data, ContentBuilder<I, HttpEntity> contentBuilder, ResponseHandler<? extends T> responseHandler);
现在我必须写夫妻将被用于ContentBuilder和对ResponseHandler类。需要注意的是返回类型T。
我写了一个抽象类WSResponse
,然后扩展它MyWSResponse
,使我的响应处理看起来像
ResponseHandler <WSResponse> rh = new MyWSResponse();
这是调用这个后方法,该方法有此签名
public interface GPCl{
public <T> T callPost (String data)
}
...
public <T> T callPost(String data){
HttpWebServiceClient client = getHttpWSClient();
ContentBuilder<String, HttpEntity> contentBuilder = new MyXMLBuilder();
ResponseHandler<WSResponse> rh= new MyWSResponse();
WSResponse wsResponse = client.post("", data, contentBuilder, rh);
return (T)wsResponse;
}
现在我很困惑返回这种方法的类型。它会保持T还是别的?如果我将它从T更改为WSRespons,则会出现一个错误,我没有执行方法callPost
。
方法callPost
被称为
GPClient cl = new GPClient(myhttpParams);
cl.callPost(d)
PS: 这是我第一次处理泛型这种类型的
方法callPost(..)来自哪里? – AndrewC 2012-04-17 16:48:41
看到我的编辑... – 2012-04-17 16:54:00