У меня есть класс, который реализует Set и List. Программы отлично работают в Java6 и Java7
public class SetList<V> implements Set<V>, List<V>
{
....
}
С Java 8 это не компилируется. Ошибка
java: класс trials.SetList наследует несвязанные значения по умолчанию для spliterator() из типов java.util.Set и 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);
}
Означает ли это, что у меня не может быть класса, который реализует как Set, так и List в Java 8? (Похоже, пришло время оплатить наши технические долги.)