Inicializar múltiples variables en Java

Rupam Yadav 12 octubre 2023
  1. Inicializar múltiples variables de cadena con el mismo valor en Java
  2. Inicializar múltiples objetos con la misma clase en Java
Inicializar múltiples variables en Java

En este artículo, veremos los pasos a seguir cuando queramos inicializar múltiples variables con el mismo valor en Java. Discutiremos por qué no podemos inicializar todas las variables con el mismo valor durante la declaración.

Inicializar múltiples variables de cadena con el mismo valor en Java

En el siguiente ejemplo 1, declaramos las variables one, two y three del tipo String y luego inicializamos las tres variables con el mismo valor. Hacemos esto por asignación encadenada. Significa que asignamos el valor de la variable más a la izquierda a todas las variables presentes a la derecha del operador de asignación.

  • Ejemplo 1:
package com.company;

public class Main {
  public static void main(String[] args) {
    String one, two, three;
    one = two = three = "All three variables will be initialized with this string";

    System.out.println(one);
    System.out.println(two);
    System.out.println(three);
  }
}

Resultado:

All three variables will be initialized with this string
All three variables will be initialized with this string
All three variables will be initialized with this string

Si nuestro requisito es inicializar las variables durante la declaración, entonces podemos utilizar la asignación encadenada como hemos hecho a continuación. Pero esto disminuye la legibilidad del programa ya que puede haber más de un desarrollador trabajando en el mismo proyecto.

  • Ejemplo 2:
package com.company;

public class Main {
  public static void main(String[] args) {
    String one, two, three = two = one = "All three variables will be initialized with this string";

    System.out.println(one);
    System.out.println(two);
    System.out.println(three);
  }
}

Resultado:

All three variables will be initialized with this string
All three variables will be initialized with this string
All three variables will be initialized with this string

Inicializar múltiples objetos con la misma clase en Java

Vimos que podemos almacenar el mismo valor en las tres variables String usando la técnica de asignación encadenada. Pero, ¿podemos hacer lo mismo cuando queremos guardar la referencia del mismo objeto de clase en múltiples variables? Veamos.

Cuando inicializamos una variable con un constructor de clase usando la palabra clave new, esa variable se llama objeto y apunta a la clase. Podemos crear múltiples objetos con la misma clase usando una asignación encadenada, pero apuntará a la misma referencia, lo que significa que si cambiamos el valor de firstObj el secondObj también reflejará los mismos cambios.

Podemos comprobar el siguiente ejemplo en el que los tres objetos - firstObj, secondObj, y thirdObj - se asignan juntos, pero fourthObj - se asigna por separado. La salida muestra la diferencia.

package com.company;

public class Main {
  public static void main(String[] args) {
    SecondClass firstObj, secondObj, thirdObj;
    firstObj = secondObj = thirdObj = new SecondClass();

    firstObj.aVar = "First Object";

    secondObj.aVar = "Second Object";

    SecondClass fourthObj = new SecondClass();
    fourthObj.aVar = "Fourth Object";

    System.out.println(firstObj.aVar);
    System.out.println(secondObj.aVar);
    System.out.println(thirdObj.aVar);

    System.out.println(fourthObj.aVar);
  }
}

class SecondClass {
  String aVar;
}

Resultado:

Second Object
Second Object
Second Object
Fourth Object
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java Variable