objeto - obtener nombre de una clase en java
Inicializando mĂșltiples variables al mismo valor en Java (6)
Estoy buscando un método limpio y eficiente para declarar múltiples variables del mismo tipo y del mismo valor. En este momento tengo:
String one = "", two = "", three = "" etc...
Pero estoy buscando algo como:
String one,two,three = ""
¿Es esto algo que se puede hacer en Java? Teniendo en cuenta la eficiencia.
EDITAR: Varios miembros han señalado que esta no es la norma y que confundiría a la mayoría de las personas. Gracias por señalar esto. Creo que me voy a mantener alejado de esta implementación, pero agradezco las respuestas a continuación.
Funciona para primitivos y clases inmutables como String
, Wrapper classes Character, Byte.
int i=0,j=2
String s1,s2
s1 = s2 = "java rocks"
Para clases mutables
Reference r1 = Reference r2 = Reference r3 = new Object();`
Se crean tres referencias + un objeto. Todas las referencias apuntan al mismo objeto y su programa se portará mal.
No creo que sea posible, tienes que establecer todos los valores individualmente (como el primer ejemplo que proporcionaste).
El segundo ejemplo que diste, solo inicializará el último valor variable a "" y no a los demás.
No, no es posible en Java.
Puedes hacerlo de esta manera ... Pero trata de evitarlo .
String one, two, three;
one = two = three = "";
Puede declarar múltiples variables y asignar múltiples variables, pero no ambas al mismo tiempo:
String one,two,three;
one = two = three = "";
Sin embargo, este tipo de cosas (especialmente la asignación múltiple) sería mal visto por la mayoría de los desarrolladores de Java, que considerarían lo contrario de "visualmente simple".
Puedes hacerlo:
String one, two, three = two = one = "";
Pero todos estos apuntan a la misma instancia. No causará problemas con las variables finales o los tipos primitivos. De esta manera, puedes hacer todo en una línea.
String one, two, three;
one = two = three = "";
Esto debería funcionar con objetos inmutables. No tiene ningún sentido para objetos mutables, por ejemplo:
Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();
Todas las variables estarían apuntando a la misma instancia. Probablemente lo que necesitarías en ese caso es:
Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();
O mejor aún, use una matriz o una Collection
.