我明白了什么ArrayList<String> list1 = new ArrayList<String>();,但哪个部分称为参数化类型?
赋值运算符左侧的类型变量或右侧的构造函数?当他们说参数化类型时,它们是指构造在角括号内定义参数化类型的方式,例如ArrayList<String>()?
因为我知道常规List = new List()没有参数化类型.
问题是:哪个部分是参数化类型?左侧或右侧:ArrayList<String> list1 or new ArrayList<String>();
甲类型是一个类,接口,数组或一个枚举(以及原语为好,但那些在这里不适用).
参数化类型是声明为使用泛型的任何类型.例如,在
public class MyCustomGenerics<T,E> {
...
}
Run Code Online (Sandbox Code Playgroud)
MyCustomGenerics 是参数化类型.
因此,ArrayList是参数化类型.它被宣布为
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
Run Code Online (Sandbox Code Playgroud)
在
ArrayList<String> list1 = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
String 是类型参数.