2010-02-06 5 views
2

J'utilise une classe splaytree comme stockage de données pour le "dictionnaire".SplayTrees et un dictionnaire

Je suit pour traiter, objets, Entiers etc .:

public class SplayTree<T extends Comparable<? super T>> 

Et j'ai également les éléments suivants:

public class Entry<T> { 
    public Entry(T word, T def){} 
    ... 
} 

qui est ce que j'utilise pour ajouter un mot entrée et sa définition

Mais quand je tente d'exécuter des données de test, Ex:

SplayTree<Entry> tree = new SplayTree<Entry>(); 
tree.insert(new Entry("test", "test")); 

Je reçois l'erreur suivante:

Bound mismatch: The type Entry is not a valid substitute for the bounded parameter > of the type SplayTree

Toute idée de ce que je devrais faire pour résoudre ce problème?

Répondre

2

Vous n'avez pas rendu l'outil d'entrée de classe comparable.

public class Entry<T> implements Comparable<T> { 
    // ... 
    public int compareTo(final T t) { 
     // ... 
    } 
} 
+1

N'est-ce pas nécessaire d'avoir une méthode 'compareTo' au lieu de' compare'? – Shawn

+0

ooh merci, c'est le genre d'erreur que je fais 10000 fois par jour :-) – Pointy

Questions connexes