我是java的初学者,我不理解以下代码。
public class FlexibleItemHolderExample<Model> extends AbstractSectionableItem<FlexibleItemHolderExample.ViewHolder, HeaderItem>
implements IFilterable, IHolder<Model>
为什么&lt;&gt;使用过,以上声明是什么意思?
答案 0 :(得分:2)
Java templates是一种可以编写代码的方法,其中TYPE被视为变量。
例如 - 假设您想创建自己的List类型,但是您不确定列表中需要哪些类型,或者您认为需要一个List for String类型,一个用于Integer类型,一个用于双重类型。
使用Generics,您可以使用泛型创建一个类(List),然后只需注入这些类型。
实际上,这正是List和ArrayList的工作原理:
List<Integer> myIntList;
ArrayList<String> myStringList;
他们只有一个实现,而不是每种类型的列表。增加的功能是您可以在列表中拥有自定义对象列表,而无需重新编写List / ArrayList类型。