Bonjour à tous,

Peut-on me dire pourquoi ces 2 méthodes identiques ne fonctionnent pas de
manière identique :

la méthode min2 --> problème avec compareTo


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
package ajeter;
 
 
import java.util.ArrayList;
import java.util.List;
 
 
class A {
}
 
class B extends A{
 
} 
 
 
class C <T> {
	 String mot = "pour TEST";
	 static String mot2 = "pour TEST2";
 
 
	 public static <T extends Comparable<? super T>> 
 
	 T min(List<T> liste) {
		 if (liste == null || liste.isEmpty())
		 return null;
		 T min = liste.get(0);
		 for (int i = 1; i < liste.size(); i++) {
		 if (liste.get(i).compareTo(min) < 0)
		 min = liste.get(i);
		 System.out.println("Attribut static de méthode non static : " +  mot2);
		 }	 
		 return min;
	 }
 
 
	 T min2(List<T> liste) {
		 if (liste == null || liste.isEmpty())
		 return null;
		 T minimum = liste.get(0);
		 for (int i = 1; i < liste.size(); i++) {
		 if (liste.get(i).compareTo(minimum) < 0)
			 minimum = liste.get(i);
		 System.out.println("Attribut static de méthode non static : " +  mot2);
		 }		 
		 return minimum;
	 }
 
}
 
 
public class Nice2 {
	public static void main(String[] args) {
 
		C<Number> c = new C<Number>();
		List<Integer> li = new ArrayList<Integer>();
		li.add(new Integer(15));
		li.add(new Integer(17));
 
		System.out.println("Le minimum : " + c.min(li));
		System.out.println("Le minimum2 : " + c.min2(li));
 
 
 
	}
}