Ich habe eine Menge Suche nach generischen Typ Fragen getan und habe einfach nichts gefunden, was mir geholfen hat herauszufinden, was ich hier falsch mache. Ich habe eine Schnittstelle wie folgt:Behalten generische Typen bei der Implementierung in Klasse
public interface SortAnalysis<E extends Comparable<? super E>>
{
public long analyzeSort(ArrayList<E> list);
}
Jetzt ist der nächste Schritt macht eine Klasse, die diese Schnittstelle implementiert. Diese besondere Klasse wird eine Einführungs Art verwenden, und ich brauche die Arraylist-Typ ‚E‘ generisch zu halten, so habe ich versucht, alle möglichen Dinge und am Ende mit den folgenden:
public class InsertionSort<E extends Comparable<? super E>> implements SortAnalysis {
@Override
public long analyzeSort(ArrayList list) {
// TODO Auto-generated method stub
return 0;
}
Mein Problem ist, dass, wenn ich versuchen Sie dies für den Parameter
der Compiler meckert mich über die Implementierung einer Supertype-Methode.
Ich würde wirklich jede Richtung der Hilfe schätzen. Danke!
** Ich kann dies noch nicht als beantwortet markieren, aber es ist. Ich glaube, mein Problem war, dass, wenn ich
SortAnalysis<E>
hatte ich nicht die generische Typisierung nach dem Klassennamen aufgelistet haben. **
Im zweiten Code-Snippet sollte es 'SortAnalysis' und 'ArrayList ' sein. –
Danke. Lief wie am Schnürchen. Ich dachte mir sicher, dass ich das schon ausprobiert habe, aber es könnte sein, bevor ich das> nach dem InsertionSort hinzugefügt habe. –
sebe