2017-03-22 42 views
1

我的問題不在於使用情況,而在於術語。簡而言之,誰是通用的,類型,通配符在其中 -Java中泛型,類型,通配符的區別

List<T> 
List<Integer> 
List<? extends Number> 

你也可以添加你自己的例子。我明白T將是類型,?通配符但什麼是通用的,我們在這裏使用什麼Integer

+0

所有這三個表示泛型,T表示它可以是任何類型,並且?在這裏表示該列表應該是某種類型的數字 – jos

+1

感謝您的超級快速接受! – GhostCat

回答

1

一個很好的信息來源將是甲骨文的教程,像here

public interface List <E> { 
    void add(E x); 
    Iterator<E> iterator(); 
} 

這些都是接口列表和Iterator的形式類型參數的聲明。

當然不過,最終的答案都可以在JLS中找到,如:

類是通用的,如果它聲明一個或多個類型變量

或進一步下跌:

如果方法聲明一個或多個類型變量,則該方法是通用的

在o其他詞語:要真正理解術語,開始閱讀JLS,第8.1.2和8.4.4節。

除此之外:更易於閱讀但深入介紹的常見問題解答是Angelika Langer

0

泛型是一種創建約束的方式。 列表簡單表示整數列表。

要聲明一個上界通配符,請使用通配符('?'),後跟extends關鍵字,後跟上邊界。