Dies ist ein Hausaufgabenproblem, mit dem ich Schwierigkeiten habe. Der Skelett für die Klasse ist unten angegeben:
public class Storage implements java.util.Collection {
private Object[] data = new Object[256];
private int nextEmptySlot = 0;
@Override
public java.util.Iterator iterator() {
// gibt eine Klasse zurück, die über das Datenfeld iteriert
return new java.util.Iterator() {
// füge den Körper der inneren Klasse hier ein
// 3 Methoden: remove(), hasNext(), next()
};
}
//Alle Methoden, die durch das Interface erforderlich sind, überschreiben
}
Das Problem, das ich jetzt habe, ist das Schreiben von Funktionen wie contains(Object o), da die Vorlage E nicht zwingend vergleichbar macht. Wie kann ich den generischen Typ E als vergleichbar behandeln, damit ich equals und compareTo verwenden kann? Ich weiß, dass es Möglichkeiten gibt, dies in der Klassendeklaration zu tun, aber die Klassendeklaration wird gegeben und erfordert nicht, dass E vergleichbar ist...