方法的Java模糊类型?

标签 java eclipse ambiguous ambiguous-call

编辑:事实证明这根本不是代码问题,而是 Groovy Eclipse 插件中的错误 (http://jira.codehaus.org/browse/GRECLIPSE-373)

Eclipse给我一个关于 Java 程序中不明确类型的奇怪错误消息,我真的不明白为什么。我有一个接口(interface),它采用一个通用参数来指示它返回的数据类型。

public interface InterfaceA<T> {
    T getData();
}

其中一个实现如下所示:

public class Impl<T extends AnotherClass> implements InterfaceA<Collection<T>> {
    public Collection<T> getData() {
       // get the data
    }
}

还有一个InterfaceA的容器

public class Container<T extends InterfaceA>
{
    private T a;

    public Container(T a) {
        this.a = a;
    }

    public T getA() {
        return a;
    }
}

这样做会导致“getData is ambiguous”错误。

Container<Impl<AnotherClass>> c = new Container(new Impl<AnotherClass>());
Collection<AnotherClass> coll = c.getA().getData();

我被这个难住了。

最佳答案

似乎是 groovy 插件导致的错误。 http://jira.codehaus.org/browse/GRECLIPSE-373 .这根本不是java问题。感谢您的帮助,我深表歉意。

关于方法的Java模糊类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613691/

相关文章:

java - Jooq支持Sql Server 2014和2017吗?

eclipse - birt 报告列在导出到 Excel 时自动调整大小

Android:如何连接到 Eclipse Build Project?

ios - 两个 View 在垂直方向上不明确,Xcode 警告消息处理约束

java - Chrome 在与 Java SSL 服务器握手时关闭连接

java - @GetMapping 和 RSocketServer 与 spring-boot-starter-rsocket

java - ObjectOutputStream 导致内存泄漏,reset() 抛出错误

android - java.lang.ClassNotFoundException android + eclipse + maven + osx

c# - 类中的模糊调用函数

c++ - 这实际上是模棱两可的吗?