微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 这个模糊的方法错误是Eclipse Juno错了吗?

今天我一直在玩 Eclipse Juno.来自Helios,这是一个很好的升级.一切都正常,除了一个新的编译错误.

我们使用java.net框架’Fuse’,我们调用以下方法

ResourceInjector.get().inject(true,this);

Eclipse告诉我们:

The method inject(Object[]) is ambiguous for the type ResourceInjector

以下方法相冲突:

inject(Object... components);
inject(boolean arg0,Object... arg1);

它在Eclipse Helios中工作得很好(使用Java 1.6.0.25),但现在它提供了一个编译错误,不再需要运行.在我们看来,这是Eclipse Juno中的一个错误,如果我们使用Maven构建使用的是正确的…有没有人知道这样做的一个工作?

解决方法

这实际上是Java 5和Java 6中的一个错误.这已经在Java 7中得到修复,Eclipse现在检查这个“bug”.

更多关于这里的错误
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6886431

在以下情况下应该采用什么方法

inject(true);

两者都可以应用,但是,原始布尔肯定是更好的匹配?不符合Java语言规范(JLS):

>根据15.12.2.5,这两个都不比另一个更具体(int<:Object is not true)
解决方法(我们无法更改保险丝本身):

ResourceInjector.get().inject(true,new Object [] {this});

原文地址:https://www.jb51.cc/java/124508.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐