Java 有人能解释这些通用语法吗?
我浏览了Java库,在Arrays.Java中看到了以下代码:Java 有人能解释这些通用语法吗?,java,generics,Java,Generics,我浏览了Java库,在Arrays.Java中看到了以下代码: public static <T> List<T> asList(T... a) { return new ArrayList<>(a); } 公共静态列表asList(T…a){ 返回新的ArrayList(a); } 我只是想知道,这不应该是: return new ArrayList<T>(a); 返回新的ArrayList(a); 我猜它正在ArrayList.
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
公共静态列表asList(T…a){
返回新的ArrayList(a);
}
我只是想知道,这不应该是:
return new ArrayList<T>(a);
返回新的ArrayList(a);
我猜它正在ArrayList.java中调用此方法:
public ArrayList(Collection<? extends E> c) {
elementData = c.toArray();
if ((size = elementData.length) != 0) {
// c.toArray might (incorrectly) not return Object[] (see 6260652)
if (elementData.getClass() != Object[].class)
elementData = Arrays.copyOf(elementData, size, Object[].class);
} else {
// replace with empty array.
this.elementData = EMPTY_ELEMENTDATA;
}
}
}
public ArrayList(Collection自java 7以来,您可以使用returnnew ArrayList(a);
而不是return newArrayList(a);
来自动添加所需的类型。使用它告诉编译器它有一个类型,并且它与正确的类型匹配(泛型只是元信息)嗨!请使用(你有徽章!),环顾四周,通读,尤其是每个问题问一个问题。或者问
是什么,或者问?
是什么。回复:
:这可能会帮助您
功能已经存在7年了。如果它可以编译并且在JDK中,则可能是正确的。Ora中对此进行了解释cle Java泛型教程(特别是:和)。我建议您阅读整个教程,因为它将向您介绍这些和其他概念。