[英]How to write a method that sorts an ArrayList in java using a generic Comparable type
[英]Java - Static Generic Type using Comparable
好的,所以我一直在嘗試實現一個簡單的二進制搜索樹,該樹默認情況下使用可比較的數據類型。
忽略該類中的所有其他方法,這是我所擁有的常規設置,我認為這是非常標准的:
public class BSTNode<E extends Comparable<? super E>>{
E data;
BSTNode<E> left;
BSTNode<E> right;
//and I'm trying to define a static method(inside of the class) like this:
public static <E> String displayAscending(BSTNode<E> node){}
}
但是編譯器不喜歡它。 現在,我是泛型類型的新手,所以我將解釋我對泛型類型的理解,這可能會幫助您確定我的想法出了什么問題。
E擴展了Comparable,因此基本上,對象E是Comparable的擴展。 可比較的元素是E的祖先,這本質上是一種抽象的說法,可以使用Comparable接口將E與其他元素進行比較。
然后在我的靜態方法中,我嘗試遞歸地傳遞BSTNode。 我似乎無法解決為什么它不起作用的問題。 我知道如果我通過BSTNode<?>
可以正常工作,但這似乎很危險。 如果有人可以向我解釋為什么這不起作用,那么我可以嘗試尋找其他解決方案。
嘗試這個
public static <E extends Comparable<? super E>> String displayAscending(BSTNode<E> node)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.