Hoy miré algo de código Java y encontré una sintaxis extraña:
public class Sample {
public int get()[] {
return new int[]{1, 2, 3};
}
}
Pensé que no se puede compilar y quería corregir lo que pensé que era un error tipográfico, ¡pero luego recordé que el compilador de Java realmente lo aceptó!
¿Puede alguien ayudarme a entender lo que significa? ¿Es una serie de funciones?

Respuestas:
Es un método que devuelve un
int[].fuente
public int[] foo()[][] {y hacer sangrar los ojos de las personas.Esa es una pregunta divertida. En Java se puede decir
int[] a;, así comoint a[];.Desde esta perspectiva, para obtener el mismo resultado solo es necesario mover
[]y escribir
public int[] get() {.Todavía parece que el código proviene de un ofuscador ...
fuente
Como hay una etiqueta C, señalaré que una notación similar (pero no idéntica) es posible en C y C ++:
Aquí la función
fdevuelve un puntero a una matriz de 10 ints.Java simplemente no necesita la estrella y el paréntesis.
fuente
f()[]significar algo como(*f()).La sintaxis de Java permite lo siguiente:
y también
que parece más fmiliar viniendo de la sintaxis de estilo C.
también, con una función, el nombre puede ir antes o después de [], y el tipo sigue siendo int []
fuente