场景:我需要处理一个请求和响应场景,其中请求/响应的内部对象取决于请求代码。
所以我做了下面的方法

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>()一样有效。

09-13 01:49