有人可以解释这些通用语法吗? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有人可以解释这些通用语法吗? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在查看Java库,我在Arrays.java中看到了这段代码:
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
而我只是想知道它不是假设:
return new ArrayList<T>(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;
}
}
}
问号在Collection中意味着什么?
答案
从java 7开始,您可以使用return new ArrayList<>(a);
而不是返回新的ArrayList<T>(a);
,它将自动添加所需的类型。使用它作为<>告诉编译器它有一个类型,它匹配正确的一个(泛型只是元信息)
以上是关于有人可以解释这些通用语法吗? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
有人可以解释一下 C 中 signal() 语法的含义吗? [复制]