看来,在Java vararg实施过程中出现了一种ug。 Java可以区分适当的类型,如果一种方法超负荷使用不同类型的蒸气参数。
它给我留下了一个错误的<代码>。 方法......对于......类型......含糊不清。
考虑以下法典:
public class Test
{
public static void main(String[] args) throws Throwable
{
doit(new int[]{1, 2}); // <- no problem
doit(new double[]{1.2, 2.2}); // <- no problem
doit(1.2f, 2.2f); // <- no problem
doit(1.2d, 2.2d); // <- no problem
doit(1, 2); // <- The method doit(double[]) is ambiguous for the type Test
}
public static void doit(double... ds)
{
System.out.println("doubles");
}
public static void doit(int... is)
{
System.out.println("ints");
}
}
然而,他们并未提及这一错误,而并非方案制定者认为这一错误是困难的,而是汇编者。
想法?
http://www.ohchr.org。 - Compiler: Sun jdk 1.6.0 u18