Ich habe eine Klasse, die Set und List implementiert. Programme funktionieren in Java6 und Java7 einwandfreiKlasse erbt nicht verwandte Standardwerte für spliterator() von den Typen java.util.Set und java.util.List
public class SetList<V> implements Set<V>, List<V>
{
....
}
Mit Java 8 kompiliert das nicht. Fehler
java: Klasse trials.SetList nicht verwandten Standardwerte für spliterator erbt() von Typen java.util.Set und java.util.List
java/util/Set.java: 394
...
@Override
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, Spliterator.DISTINCT);
}
java/util/List.java
...
@Override
default Spliterator<E> spliterator() {
return Spliterators.spliterator(this, Spliterator.ORDERED);
}
Doe Bedeutet es, dass ich keine Klasse haben kann, die sowohl Set als auch List in Java 8 implementiert? (Es sieht aus wie die Zeit gekommen ist, unsere technischen Schulden zu bezahlen.)
Stellen Sie Ihre eigene Implementierung von 'spliterator()'. –
Wie kann eine Klasse Set und List implementieren? Sie haben widersprüchliche Verträge. Das klingt nach einer wirklich schlechten Idee. –
@Stirios Delimanolis - danke, das ist wahrscheinlich die _answer_. – Jayan