Inicializar Variáveis Múltiplas em Java

Rupam Yadav 12 outubro 2023
  1. Inicializar múltiplas variáveis de string com o mesmo valor em Java
  2. Inicializar múltiplos objectos com a mesma classe em Java
Inicializar Variáveis Múltiplas em Java

Neste artigo, vamos percorrer os passos a seguir quando queremos inicializar múltiplas variáveis com o mesmo valor em Java. Discutiremos porque não podemos inicializar todas as variáveis com o mesmo valor durante a declaração.

Inicializar múltiplas variáveis de string com o mesmo valor em Java

No exemplo abaixo 1, declaramos as variáveis one, two, e three do tipo String e depois inicializamos todas as três variáveis com o mesmo valor. Estamos a fazer isto por atribuição encadeada. isto significa que atribuímos o valor da variável mais à esquerda a todas as variáveis presentes à direita do operador de atribuição.

  • Exemplo 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

Se a nossa exigência for inicializar as variáveis durante a declaração, então podemos utilizar a atribuição encadeada como fizemos abaixo. Mas diminui a legibilidade do programa, uma vez que pode haver mais do que um programador a trabalhar no mesmo projecto.

  • Exemplo 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últiplos objectos com a mesma classe em Java

Vimos que podemos armazenar o mesmo valor em todas as três variáveis String, utilizando a técnica de atribuição encadeada. Mas podemos fazer o mesmo quando queremos guardar a referência do mesmo objecto de classe em múltiplas variáveis? Vejamos.

Quando inicializamos uma variável com um construtor de classes utilizando a palavra-chave new, essa variável é chamada de object e aponta para a classe. Podemos criar vários objectos com a mesma classe utilizando a atribuição encadeada, mas ela apontará para a mesma referência, o que significa que se alterarmos o valor de firstObj o secondObj também reflectirá as mesmas alterações.

Podemos verificar o seguinte exemplo em que os três objectos - firstObj, secondObj, e thirdObj são atribuídos em conjunto, mas o fourthObj é atribuído separadamente. A saída mostra a diferença.

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

Artigo relacionado - Java Variable