最近,当我遇到这段代码时,我正在阅读oracle集合教程中的以下代码.
public static <E> Set<E> removeDups(Collection<E> c) {
return new LinkedHashSet<E>(c);
}
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么返回值是什么
<E> Set<E> and not just Set<E> ?
Run Code Online (Sandbox Code Playgroud)
事实上,返回类型很简单Set<E>.
另一个<E>是指示这是一个通用方法,并声明这E是泛型的参数.如果没有这个<E>,编译器会认为它E是一个现有的类,并会尝试找到它(如果没有命名的类E在范围内,则会产生错误).
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |