gpt4 book ai didi

java - "References to generic type JsonResponse should be parameterized"

转载 作者:行者123 更新时间:2023-12-01 23:03:43 24 4
gpt4 key购买 nike

我有一个用于处理 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);
}
}

最佳答案

您正在使用 JsonResponse 作为泛型

private void getUsers(JsonResponse jsonResponse)

修改为

private void getUsers(JsonResponse<List<User>> jsonResponse)

Java 总是警告有关使用泛型的信息,有关详细信息,请参阅 this关于SO的问题。

关于java - "References to generic type JsonResponse should be parameterized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com