I tiene una matriz de enteros en Java que se inicializa como sigue:Inicialización matriz de tamaño variable en Java
public int MyNumbers[] = {0,0,0,0};
me gustaría, sin embargo, inicializar la matriz a un número de longitud variable de ceros.
private int number_of_elements = 4;
public int MyNumbers[] = {0} * number_of_elements; // ????
No tengo idea de cómo ser nuevo en Java viene de C. ¿Alguna sugerencia?
EDITAR
Sé que podría utilizar un bucle for
, pero la esperanza de que hubiera una manera sencilla de hacerlo.
¡Gracias, amigo! ¿Estoy en lo cierto al suponer que la línea de importación es solo 'java.util.Arrays'? – daveslab
Sí. Una cosa a tener en cuenta, sin embargo, es que de acuerdo con la fuente de Arrays.java (JDK 6) la función anterior efectivamente utiliza un ciclo for. Pero un día podría cambiar fácilmente ese comportamiento para usar algo de un nivel más bajo, como un memset (a través de JNI). – laginimaineb
Confío en que la JVM reemplazará este código con el código faaaaaast.Por lo general, los bucles son desenrollados por la JVM, incluso ella lo optimizó para un memset. En Java, ¡nunca optimice a nivel de código! – akuhn