以下方法返回由T类型元素组成的List。因此,在返回类型<T> List<T>
中,List<T>
是有意义的,因为这是返回值的类型。前面的<T>
有什么需要?
没有<T>
和List<T>
都无法编译代码。
public <T> List<T> getTheList() {
return new ArrayList<T>();
}
第一个<T>
表示第二个T
是通用参数的占位符,而不是要存储在该列表中的类的实际名称。
[没有第一个<T>
编译器会将T
视为类名(例如Object
,String
等),请尝试在存在该方法的类的同一包中查找名为T
的类或在使用该方法的类的导入部分中。如果编译器无法找到名为T
的类,则将显示编译错误。