使用从具有泛型返回类型的方法返回的参数重载

时间:2017-06-02 08:41:16

标签: java generics overloading

我有一个我无法理解的Java重载问题。

代码如下:

private void f(Object o) {
}

private void f(Collection c) {
}

private <T> T dummy() {
    return null;
}

private void g() {
    f(dummy());
}

现在,dummy()返回一个未定义类型的对象,因此擦除应该导致一种Object类型。但是,调用f(dummy())实际上调用f(Collection)而不是f(Object)。为什么会这样?

0 个答案:

没有答案
相关问题