Как исправить «связанное несоответствие» в Java - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь расширить класс AbstractTreap в своем классе Treap с помощью шаблонов.

Я скачал файл TreapNode и AbtractTreap и попытался реализовать класс Treap в качестве некоторого упражнения.

Результатдолжно быть Treap, как здесь: https://www.geeksforgeeks.org/treap-a-randomized-binary-search-tree/

public class Treap<E> extends AbstractTreap<E>

public final class TreapNode<E extends Comparable<? super E>> 
       implements Comparable<TreapNode<E>>, java.util.Comparator<TreapNode<E>>

public abstract class AbstractTreap<E extends Comparable<? super E>>

Ошибка:

Несоответствие границ: тип E не является допустимой заменой ограниченного параметра> типа AbstractTreap

1 Ответ

0 голосов
/ 05 июля 2019

AbstractTreap имеет общий параметр, который является Comaparable. Если вы расширите его и передадите этот параметр, вы должны убедиться, что он соответствует как минимум тем же границам (если не более строгим). E.g.:

public class Treap<E extends Comparable<? super E>> extends AbstractTreap<E>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...