簡體   English   中英

具有可比接口的Java通用語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM