Je débute avec les generics et je viens de tomber sur un problème qui m'échappe,
Voici le code d'une classe :
Le compilateur m'indique le message : "uses unchecked or unsafe operations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Couple<T extends Comparable> { private T v1, v2; public Couple(T nv1, T nv2) { v1 = nv1; v2 = nv2; } public T max() { if(v1 != null && v2 != null) return null; if(v1.compareTo(v2)> 0) return v1; else return v2; } }
Note: Recompile with -Xlint:unchecked for details"
Et après recompilation avec l'option Xlint, le nouveau message est :
[unchecked] unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable
if(v1.compareTo(v2)> 0)
^
Il semble donc que je puisse avoir un problème avec v2, mais je ne vois pas lequel, en particulier, comment provoquer une erreur de convertion en utilisant max?






Répondre avec citation
Partager