En Java, ¿cuándo es inapropiada la taquigrafía de matriz {a, b, c, ...} y por qué?

Si está definiendo una variable, parece ser perfectamente válido declarar / definir una variable de la siguiente manera:

    double[][] output = {{0,0},{1,0}};

Pero si devuelve un valor, parece no válido escribir lo siguiente:

    public double[] foo(){
      return {0,1,2}
    }

Pensé que internamente, ambos habrían estado realizando la misma acción. Eclipse, al menos, no está de acuerdo. ¿Alguien sabe cuál es la diferencia y dónde más se puede ver, o por qué sería beneficioso aceptar el primer ejemplo y rechazar el segundo?

Editar: está bien, así que es apropiado cuando está inicializando, pero no veo ninguna ambigüedad ... ¿no podría la JVM interpretar el tipo de variable a partir del nombre de la variable (en el caso de redefinir variables ya inicializadas) o al regresar (donde la JVM podría simplemente mirar el tipo de retorno de la función)? ¿Qué hace que la inicialización sea un caso especial de una regla que prohibiría el tipo implícito? ¿Qué hace que la regla general requiera un tipo explícito?

Respuesta 1

He leído (http://old.nabble.com/using-q%3D--,-adding-fq%3D-to26753938.html#a26805204): FWIW: limitar el número de filas por solicitud a 50, pero no limitar el comienzo no hace mucho ...

Vi una pregunta de entrevista de la siguiente manera: un número en la matriz se está duplicando. Encontrarlo La solución simple es la siguiente: for (int i = 0; i <n; i ++) {{dup = false; para (j = 0; j <n; j ++) {if (i! = ...

Estoy tratando de obtener una vista de edición de texto que solo permita letras (mayúsculas y minúsculas). Funciona con este código: edittv.setKeyListener (DigitsKeyListener.getInstance ("...

Después de ejecutar el caso de prueba Java (prueba TestNG, si es importante) en IDEA, se creará un archivo llamado .attach_pid <xxx> (por ejemplo, .attach_pid16153), debajo de la raíz del proyecto. Todavía están allí incluso después de la prueba ...