[英]Java Generic syntax with Comparable interface
我正在嘗試實現一個簡單的插入排序算法,並使它對Comparable接口的所有實例通用。
public static <E extends Comparable<E>> void InsertionSort( E [] array)
{
for(int i = 1; i < array.length; i++)
{
E current = array[i];
int k;
for(k = i-1; k >= 0 && current.compareTo(array[k]) < 0 ; k--)
{
array[k+1] = array[k];
}
array[k+1]=current;
}
for(int l = 0; l < array.length; l++)
{
System.out.print(array[l]+" ");
}
System.out.println();
}
我的問題是我不知道兩者之間的區別
<E extends Comparable<E>>
和
<E extends Comparable>
它們都可以工作,但是我不知道第一個原因。
E extends Comparable<E>
指的實例E
可以與類型的其它對象E
。
E extends Comparable
意味着可以將E
的實例與...進行比較。 這是原始類型,很糟糕。 不要那樣做
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.