场景:我需要处理一个请求和响应场景,其中请求/响应的内部对象取决于请求代码。
所以我做了下面的方法
public static <T, U> Response getResponse(String requestCode, Request req) {
Response response = new Response();
T requestObject = (T) req.getInnerObject();
RequestHandler<T, U> requestHandler = new RequestHandler<T, U>(
requestCode, requestObject);
U responseObject = requestHandler.getResponse();
response.setInnerObject(responseObject);
return response;
}
问题是,调用此方法时如何指定
T
和U?我很惊讶我能做
Response response = getResponse(requestCode, req);
我在哪里弄错了?
谢谢。
最佳答案
要指定T和U,可以这样调用方法:
YourClass.<MyTClass, MyUClass>getResponse(requestCode, req);
调用
Response response = getResponse(requestCode, req);
与调用new ArrayList()
而不是new ArrayList<String>()
一样有效。