Я изучаю структуры данных, и меня попросили написать программу, которая позволяет менеджеру магазина манипулировать запасами, используя 4 класса: ListInterface, ExpandableArrayList (класс, реализующий интерфейс), элемент класса (тип которого хранится в Arraylist). ) и, конечно же, тестовый класс.
некоторые методы требуют использования compareTo. то есть быть Comparable, но я не знаю, какой именно класс должен быть Comparable? и если я должен написать Implements или extends Comparable?
это заголовки классов, которые у меня есть прямо сейчас:
public interface ListInterface<T extends Comparable <?super T >> {... }
public class ExpandableArrayList <T extends Comparable <? super T >>
implements ListInterface <T> { ...... }
public class Item<T extends Comparable<T>> {... }
но по какой-то причине я не могу создать объект в классе Test. когда я набираю:
ListInterface<Item> inventoryList= new ExpandableArrayList<Item>();
Я получаю следующие ошибки:
Test.java:9: error: type argument Item is not within bounds of type-variable T
ListInterface<Item> inventoryList= new ExpandableArrayList<Item> () ;
where T is a type-variable:
T extends Comparable<? super T> declared in interface ListInterface
Test.java:9: error: type argument Item is not within bounds of type-variable T
ListInterface<Item> inventoryList= new ExpandableArrayList<Item> () ;
where T is a type-variable:
T extends Comparable<? super T> declared in class ExpandableArrayList
Как я могу решить эту проблему? что именно нужно изменить? ..
Заранее большое спасибо.
Comparable
. Если да, то то, что вы сравниваете/сортируете, должно бытьComparable
. - person RealSkeptic   schedule 23.03.2015