类名末尾的角括号符号是什么意思?

时间:2013-03-31 09:09:35

标签: java generics arraylist

例如,看看这个:

ArrayList<String> arrayList = new ArrayList<String>();

我可以将&lt;&gt; s用于自定义类吗?我该如何使用它们?

2 个答案:

答案 0 :(得分:3)

只要满足泛型类的约束,就可以在<>中放置任何类:

ArrayList<MyClass> arrayList = new ArrayList<MyClass>();

您可以定义自己的类,只使用<>

class MyGenericClass<E> {
    E e;
    MyGenericClass(E e) { this.e = e; }

    E getE() { return e; }
    void setE(E e) { this.e = e; }
}

现在你可以自己制作:

MyGenericClass<String> stuff = new MyGenericClass<String>("Foo");
System.out.println(stuff.getE());

答案 1 :(得分:2)

教程Generics为您提供所需的所有信息。第Generic types部分显示了如何声明和实现自定义类。

class MyClass<T> {
    ...
}