Je réécrite cette ligne de code:Comment obtenir l'objet Class à partir d'une liste paramétrée Liste pour l'entrée dans une nouvelle déclaration d'objet?
JsonResponse<LoginResult> response = new JsonResponse<>(LoginResult.class);
à ceci:
JsonResponse<LoginResult[]> response = new JsonResponse<>(LoginResult[].class);
Parce que je voulais passer le tableau de LoginResults.
Mais maintenant, je voudrais le réécrire en utilisant ArrayList et bien sûr je coincé dans ce:
JsonResponse<List<LoginResult>> response = new JsonResponse<List<LoginResult>>(List<LoginResult>.class);
Je comprends que je ne peux pas l'objet de classe à partir du type paramétrisé. J'ai lu beaucoup de sujets comment faire cela mais je ne suis pas sûr comment réécrire le code dans ma situation, parce que j'ai besoin de l'objet de classe en tant qu'entrée pour le constructeur de JSonResponse?
public class JsonResponse<T> extends JsonRequest {
private Type type;
public JsonResponse(Class<T> type) {
this.type = type;
}
public Type getType() {
return type;
}
public void setType(Type type) {
this.type = type;
}
@SuppressWarnings("unchecked")
public T getResult() {
return (T) getAttribute(RESULT);
}
}
Pouvez-vous m'aider ou me donner quelques indices pour résoudre ce problème? Je vous remercie!
Qu'est-ce que vous utilisez 'type' dans votre classe' JsonResponse'? Pour le moment, vous n'utilisez pas 'type', vous pouvez donc simplement l'enlever et votre problème disparaît. Et comment résoudre votre problème dépend de ce que vous faites avec 'type'. –