为什么Eclipse会抱怨重载的varargs方法存在歧义?

时间:2014-01-27 08:20:14

标签: eclipse guava variadic-functions

我的Eclipse(Indigo Service Release 2)在Guava的DoubleMathTest(当前当前的HEAD,eb89cdb)中抱怨方法调用

DoubleMath.mean(11, -22, 44, -88);

含糊不清。确切地说,有以下五种方法定义

public static double mean(double... values) {...}
public static double mean(long... values) {...}
public static double mean(int... values) {...}
public static double mean(Iterable<? extends Number> values) {...}
public static double mean(Iterator<? extends Number> values) {...}

所以我真的看不出任何含糊不清的地方。这是Eclipse的错误吗?

1 个答案:

答案 0 :(得分:1)

问题可能是通过施法来解决的。 因为Eclipse无法判断你的论证是什么类型 尝试:
DoubleMath.mean(11L, -22L, 44L, -88L);

DoubleMath.mean((int)11, (int)-22, (int)44, (int)-88);

修改

如果问题没有解决,可能是Eclipse的不同版本中出现问题/错误。 我写的代码对我来说很好。 (使用Juno
Jon甚至没有对您的代码有问题(使用Kepler) 在转换为Double时,问题部分解决了。 (使用Indigo Service Release 2)。

所以它必须与Eclipse版本相关。