2013-07-21 3 views
6

私は単に、宣言の一部が呼び出されたことのために、運が悪いという名前を得ようとしてきました。誰が私にそれが呼び出されたのか、自分のクラスでどのように使用できるのか教えてくれますか?例えば私は自分のコレクションを作ってみたいと思うかもしれませんが、例えばnew MyThing<String>を使ってみてください。どんな助けでも感謝しています!ハッシュマップにある<K, V>の内容は何ですか?また、自分のクラスでどのように使用できますか?

+1

あなたは 'generics'を意味していますか? –

+0

@StephenCジェネリックスと呼ばれていたことはわかりませんでした。 – user2507230

+0

またはこれ - http://stackoverflow.com/questions/490091/java-generics –

答えて

6

これは、ジェネリックタイプのクラスの宣言です。たとえば、マップが値としてキーと整数として文字列を使用しようとしていることを指定します

Map<String, Integer> mymap = new HashMap<String, Integer>(); 
3

それは、ジェネリック医薬品と呼ばれ、ここにあなたがそれを使用する方法ですです:

public class MyClass<MyType> { 
    private MyType myItem; 
    public MyClass(MyType item) { 
     myItem = item; 
    } 
    public MyType getMyItem() { 
     return myItem; 
    } 
} 

従来の名前タイプ(MyType)は「タイプ」の場合はT、「キー」と「値」の場合はKVですが、わかりやすくしています。

ます。次に行うことができます:

MyClass<String> m = new MyClass<String>("potato"); 
System.out.println(m.getMyItem()); // prints "potato" 
+0

汎用パラメータ(実際の名前ではない)として大文字を使用する方が一般的です。 –

+1

@Tom私が知っている、私は編集の途中だった(携帯電話からの応答は* hard * ':P') – Doorknob

関連する問題