我一直在做一个Android教程,遇到了一个包含以下内容的类:
public class ImageAndTextAdapter extends ArrayAdapter<String> {
<String>
是一种类型的继承形式吗?或者是我应该了解的其他Java语法?
课程是:
android.widget.ArrayAdapter<String>
答案 0 :(得分:20)
这称为泛型。 <
和>
中的类是类型参数。
这是一个最简单的例子:
ArrayList
可以存储商品。如果您指定类似这样的类型参数:ArrayList<String>
,则此数组列表将仅存储String
类型的项目(换句话说,它将仅存储String
)!
同样,ArrayAdapter
也是一种类型的“参数化”。 ArrayAdapter
可能包含一个值,此值将是<
和>
之间指定的类型,在您的情况下为String
。
有用的链接:
答案 1 :(得分:4)
答案 2 :(得分:3)
这是在Java1.5中引入的Generics的一部分。有时您不知道可以传递或获取的对象类型,因此您可以传递泛型类型的对象"?"
。在此特定实例中,您将传递包含String对象的ArrayAdapter对象。你可以阅读更多http://en.wikipedia.org/wiki/Generics_in_Java
答案 3 :(得分:1)