Bonjour,

Pour les besoins de mon application, j'ai créé une méthode qui me permet de récupérer des paramètres qui ont été sérialisés et de les retourner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public Object getParameter(String key) {
    String serializedParameter = req.getParameter(key);
    return SerialisationUtil.deserialized(serializedParameter);
}
J'ai voulu par la suite faire mumuse avec les generics et ai obtenu une méthode me permettant de retourner l'objet deserialisé avec le bon type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
public <T> T getParameter(String key, Class<T> clazz) {
    String serializedParameter = req.getParameter(key);
    Object o = SerialisationUtil.deserialized(serializedParameter);
 
    return clazz.cast(o);
}
Mais je me suis rendu compte que pour les Collections, c'était plus compliqué:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
List<String> listTemplate = new ArrayList<String>();
 
// Warning, doit spécifier Suppress("Unchecked")
List<String> firstList = getParameter("firstKey", listTemplate.getClass());
// Pas de Warning
List<?> secondtList = getParameter("secondKey", listTemplate.getClass());
Mon intérêt serait que la première liste ne produise pas de Warning ...
J'ai essayé pas mal de chose, sans jamais vraiment comprendre pourquoi ca ne fonctionnait pas (et au bout d'un moment sans vraiment comprendre ce que je faisais non plus :p). Quelqu'un pourrait-il m'aider? Est-ce possible?

Mohicane