error con varargs y sobrecarga?

Parece que hay un error en la implementación de Java varargs. Java no puede distinguir el tipo apropiado cuando un método está sobrecargado con diferentes tipos de parámetros vararg.

Me da un errorThe method ... is ambiguous for the type ...

Considere el siguiente código:

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");
    }
}

eldocs diga: "En términos generales, no debe sobrecargar un método varargs, o será difícil para los programadores averiguar qué sobrecarga se llama".

sin embargo, no mencionan este error, y no son los programadores los que lo encuentran difícil, es el compilador.

pensamientos?

EDITAR - Compilador: Sun jdk 1.6.0 u18

Respuestas a la pregunta(3)

Su respuesta a la pregunta