2016-11-16 8 views
-4

私は初心者です。次のコードは理解できません。はこのクラス宣言の構文を理解できません

public class FlexibleItemHolderExample<Model> extends AbstractSectionableItem<FlexibleItemHolderExample.ViewHolder, HeaderItem> 
    implements IFilterable, IHolder<Model> 

なぜ、<>が使用されていますか?上記の宣言は何を意味しますか?

+0

[ジェネリック型のパラメータ](https://docs.oracle.com/javase/tutorial/java/generics/)(ジェネリック型の引数)です。私はいくつかのJavaチュートリアルを通して作業することをお勧めします。 –

+0

https://docs.oracle.com/javase/tutorial/java/generics/types.html – cralfaro

+0

[こちら](https://docs.oracle.com/javase/tutorial/java/generics/)を開始してください。 – Mena

答えて

2

Java templatesは、TYPEが変数のように扱われるコードを書く方法です。

たとえば、あなた自身のリストを作成したいとしますが、あなたのリストにどのタイプが必要かわからなかったり、文字列タイプのリストが1つ必要であると思っていたとします。 Doubleタイプの場合。ジェネリック医薬品と

、あなたは、単に事実

でこれらの種類を注入し、その後ジェネリックとで一つのクラス(リスト)を作ることができ、これは正確にどのようにリストとArrayListの作品です。

List<Integer> myIntList; 
ArrayList<String> myStringList; 

とそれぞれのタイプのリストではなく、1つの実装だけがその背後にある。 List/ArrayList型を書き直さなくても、カスタムオブジェクトのリストをリストに含めることができるという利点があります。

関連する問題