【发布时间】:2014-04-16 07:38:28
【问题描述】:
我有一个用于处理 Ajax 请求的 Servlet,它以 JSON 格式提供响应。
我在网上收到此警告,如下所述。类型安全:方法 setResponseData(Object) 属于原始类型 JsonResponse。对泛型 JsonResponse 的引用应该被参数化
我应该以其他方式执行此操作,还是添加 SuppressWarning 注释是否安全
public class JsonResponse<T>
{
private T responseData;
private boolean success;
private String errorMessage;
// + Getters and Setters
}
public class AjaxJson extends HttpServlet
{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
{
String function = request.getParameter("func");
if (function == null)
function = "";
JsonResponse<?> jsonResponse;
if (function.equals("getUsers"))
getUsers(jsonResponse);
}
private void getUsers(JsonResponse jsonResponse)
{
jsonResponse = new JsonResponse<List<User>>();
// Lets say I have a class called User
List<User> users = new ArrayList<Users>();
// get users and add to list
jsonResponse.setResponseData(users); // Warning on this line
jsonResponse.setSuccess(true);
}
}
【问题讨论】: