Bonjour a tous ,j'ai un devoir a faire pour transformer une class, en une class en utilisant la généricité.
Mais j'ai une erreur a la ligne 74 (gras souligné).........pourriez-vous m'aider ?
Merci

Voici l'erreur :

Bad operand types for binary operator '<'
first type N
Second type : Object
Where N is a type-variable:
N extend Object declared in class Noeud


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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
public class ArbreBinaire {
        public static void main(String[] args) {
                       Noeud <Integer>racine = new Noeud<>(5);
                       Noeud <Integer>feuille1 = new Noeud<>(1);
                       Noeud <Integer>feuille2 = new Noeud<>(2);
                       Noeud <Integer>feuille3 =  new Noeud<>(7);
                       
                       
                       racine.setFilsGauche(feuille2);
                       feuille2.setFilsGauche(feuille1);
                       racine.setFilsDroit(feuille3);
                       
                       //System.out.println("Arbre : " + racine.toString());
                       
                       System.out.println("Trouver 1 ? : " + racine.trouver(7));
                       System.out.println("Trouver 6 ? : " + racine.trouver(6));
    }
        private static class Noeud<N>{
        
        private Noeud<N>fg;
        private Noeud<N> fd;
        private N val;
        
        public Noeud (N val){
            this.val = val;
        }
        public Noeud (N val, Noeud<N> fg, Noeud<N> fd){
            this(val);
            this.fg = fg;
            this.fd = fd;
        }
        public N getValeur(){
            return val;
        }
        public Noeud<N> getFilsGauche(){
            return fg;
        }        
        public Noeud<N> getFilsDroit(){
             return fd;
         }       
        public void setFilsGauche(Noeud fg){
             this.fg = fg;
        } 
        public void setFilsDroit(Noeud fd){
            
            this.fd =fd;
        } 
        public String toString(){
            StringBuilder builder = new StringBuilder();
            toString(builder, this);
            return builder.toString();
        }
        private static void toString(StringBuilder builder, Noeud noeud){
            if(noeud ==null){
                builder.append(".");
                
            }else{
                builder.append("(");
                builder.append(noeud.val);
                builder.append(" ");
                toString(builder, noeud.fg);
                builder.append(" ");
                toString(builder, noeud.fd);
                builder.append(")");
                
            }
        }
        public Noeud trouver(N val){
            Noeud courant = this;
            while(courant != null){
              
                if(val == courant.getValeur()){
                    return courant;
                }else if (val < courant.getValeur()){
                    courant = courant.getFilsGauche();
                }else{
                    courant = courant.getFilsDroit();
                    
                }                     
                }
            return null;
        
        }              
        }
        }