我已經定義了以下類:通配符參數
public class priorityQueue<T extends Comparable<T>> implements Iterable<T>
它包含下列方法:
- 公共布爾推送(T節點)
- 公共ŤPOP()
- public Iterator iterator()
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)
我得到錯誤:
Syntax error on token "extends",, expected
我如何聲明覆制元素的方法?
通過Java類名稱約定開始大寫(這樣的PriorityQueue將是首選)和方法名以較低的情況下,這樣的方法推送應推動。 –
我不使用Java.util中的方法,也不想重寫它們,我用自己的方法定義了自己的priorityQueue。 – user3042601
如果您有不同的包位置,則不會使用相同的名稱覆蓋PriorityQueue。此外,更喜歡使用與標準庫中的名稱不同的名稱,例如MyPriorityQueue。任何人在未來閱讀包括你在內的代碼都會對此感到滿意。 –