я определил следующий класс:параметр Джокер в методе
public class priorityQueue<T extends Comparable<T>> implements Iterable<T>
Он содержит следующие методы:
- общественного логический Нажмите (Т узел)
- общественных Т Поп()
- общественный Итератор итератор()
I нужно написать метод, который копирует элементы из коллекции в PriorityQueue
public static<T> void copy(Collection<T> source, priorityQueue<? extends Comparable<T>> dest) {
for(T elem:source){
dest.Push(elem);
}
}
я получаю ошибку:
The method Push(capture#1-of ? extends Comparable<T>) in the type priorityQueue<capture#1-of ? extends Comparable<T>> is not applicable for the arguments (T)
Почему я не могу написать метод:
public static<T> void copy(Collection<T> source, priorityQueue<T extends Comparable<T>> dest)
I получить сообщение об ошибке:
Syntax error on token "extends",, expected
Как я могу объявить метод для копирования элементов?
По соглашению в именах классов Java начинается с верхним регистром (так PriorityQueue будет выбор) и имена методов начинаются с строчными буквами, поэтому метод Нажмите должны быть толчком. –
Я не использую методы из Java.util, и я не хотел их переопределять, я определил свой собственный priorityQueue своими собственными методами. – user3042601
Вы бы не переопределили PriorityQueue, используя одно и то же имя, если у вас есть другое местоположение пакета. Кроме того, предпочитают использовать имена, которые отличаются от стандартных библиотек, таких как MyPriorityQueue. Любой, кто читает код, включая вас в будущем, это оценит. –