Generic Type Resolution - Compiler Steps
假设(the following Java方法:8)P></
1 2 3 4 5 6 7 | public <T> List<Class<T>> getList() { return new ArrayList<>(); } public <T> List<T> getList2() { return new ArrayList<>(); } |
与那些使用方法:下面代码P></
1 2 3 4 5 6 |
第二和第三结束呼叫编译:第一,给一whereas theP></
add(java.lang.Class in List cannot be applied to)
add(java.lang.Class )
全面了解分辨率的Do not the steps也许可以解释为什么有人在这里,I need the type does not and the见证编译型infer the automatically。P></
因为编译器不会/无法根据将来的方法调用推断泛型参数。
在您的例子中,当您调用
在您的第三个声明中,您有
用类似的东西代替:
1 2 3 4 5 6 7 |
现在,当调用它时,参数和返回类型必须匹配。
总之,
参考文献:JavaDoc