que programacion inicializar funciones ejemplo array java arrays string

java - inicializar - que es un array en programacion



Inicialización de matriz de cadenas en Java (5)

Primero, esto no tiene nada que ver con String , se trata de matrices ... y eso también específicamente sobre la inicialización declarativa de matrices.

Como todos discutieron en casi todas las respuestas aquí, puedes, al declarar una variable, usar:

String names[] = {"x","y","z"};

Sin embargo, después de la declaración, si desea asignar una instancia de una matriz:

names = new String[] {"a","b","c"};

AFAIK, la sintaxis de la declaración es solo un azúcar sintáctico y ya no se aplica cuando se asignan valores a las variables, porque cuando se asignan valores, se necesita crear una instancia correctamente.

Sin embargo, si nos preguntas por qué es así? Bueno ... buena suerte obteniendo una respuesta a eso. A menos que alguien del comité de Java responda eso o haya documentación explícita que cite dicho azúcar sintáctico .

Esta pregunta ya tiene una respuesta aquí:

Si declaro una matriz de String :

String names[] = new String[3];

Entonces, ¿por qué no podemos asignar valores a la matriz declarada anteriormente de esta manera?

names = {"Ankit","Bohra","Xyz"};


Puedes hacer lo siguiente durante la declaración:

String names[] = {"Ankit","Bohra","Xyz"};

Y si quieres hacer esto en algún lugar después de la declaración:

String names[]; names = new String[] {"Ankit","Bohra","Xyz"};


Simplemente no es una sintaxis Java válida. Tu puedes hacer

names = new String[] {"Ankit","Bohra","Xyz"};


Te refieres a:

String names[] = {"Ankit","Bohra","Xyz"};

Pero solo puedes hacer esto en la misma declaración cuando lo declaras


names[] = {"Ankit","Bohra","Xyz"};

es un inicializador y se utiliza únicamente al construir o crear un nuevo objeto de matriz. No se puede usar para establecer la matriz. Puede usarlo cuando se declare como:

String[] names= {"Ankit","Bohra","Xyz"};

También puedes usar:

names=new String[] {"Ankit","Bohra","Xyz"};