2017-03-22 24 views
1

私の問題は使用法ではなく用語に関連しています。単純に言えば、タイプ、ワイルドカードは誰ですか? -Javaの汎用型、型、ワイルドカードの違い

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

あなた自身の例も追加できます。私はTタイプ、?ワイルドカードだろうと理解していますが、何が一般的で、何を私たちはIntegerと呼んでいますか?情報の

+0

3つはすべて総称であり、Tはどのタイプのものであってもかまいません。ここではリストがいくつかのタイプの番号でなければならないことを表しています。 – jos

+1

スーパークイック受け入れてくれてありがとう! – GhostCat

答えて

1

良いソースはhereのように、Oracleのチュートリアルのようになります。

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

これらは、interfacesリストとイテレータの仮型パラメータの宣言です。

しかし、同様に、もちろん、究極の答えは、JLSで見つけることができます:

:それは、1つまたは複数の型変数

または下にさらにを宣言している場合、クラスはジェネリックである

メソッドが1つ以上の型変数を宣言する場合、メソッドは汎用です。

In ther言葉:用語を実際に理解するには、JLSを読んで、セクション8.1.2と8.4.4を読んでください。

これ以外にも、人が読めるが、まだ詳細な情報はFAQのAngelika Langerです。

0

ジェネリックスは、たとえば制約を作成する方法です。 単純なリストは、整数のリストを意味します。

上限のあるワイルドカードを宣言するには、ワイルドカード文字( '?')を使用し、次にキーワードの後に​​その上限を続けて使用します。

関連する問題