Initialiser des variables multiples en Java

  1. Initialiser plusieurs variables de chaîne de caractères avec la même valeur en Java
  2. Initialisation de plusieurs objets avec la même classe en Java

Dans cet article, nous passerons en revue les étapes à suivre lorsque nous voulons initialiser plusieurs variables avec la même valeur en Java. Nous expliquerons pourquoi nous ne pouvons pas initialiser toutes les variables avec la même valeur lors de la déclaration.

Initialiser plusieurs variables de chaîne de caractères avec la même valeur en Java

Dans l’exemple 1 ci-dessous, nous déclarons les variables one, two et three du type string et nous initialisons ensuite les trois variables avec la même valeur. Nous faisons cela par affectation chaînée. Cela signifie que nous attribuons la valeur de la variable la plus à gauche à toutes les variables présentes à droite de l’opérateur d’affectation.

  • Exemple 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);
    }
}


Production :

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 notre exigence est d’initialiser les variables lors de la déclaration, nous pouvons utiliser l’affectation en chaîne comme nous l’avons fait ci-dessous. Mais cela diminue la lisibilité du programme car il peut y avoir plus d’un développeur travaillant sur le même projet.

  • Exemple 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);
    }
}

Production :

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

Initialisation de plusieurs objets avec la même classe en Java

Nous avons vu que nous pouvons stocker la même valeur dans les trois variables String en utilisant la technique de l’affectation en chaîne. Mais pouvons-nous faire la même chose lorsque nous voulons enregistrer la référence du même objet de classe dans plusieurs variables ? Voyons voir.

Lorsque nous initialisons une variable avec un constructeur de classe en utilisant le new mot-clé, cette variable est appelée object et elle pointe vers la classe. Nous pouvons créer plusieurs objets avec la même classe en utilisant l’affectation en chaîne, mais ils pointeront vers la même référence, ce qui signifie que si nous changeons la valeur de firstObj, le secondObj reflétera également les mêmes changements.

Nous pouvons vérifier l’exemple suivant dans lequel les trois objets - firstObj, secondObj, et thirdObj sont assignés ensemble, mais fourthObj est assigné séparément. La sortie montre la différence.

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;
}

Production :

Second Object
Second Object
Second Object
Fourth Object

Article connexe - Java Variable

  • Créer une variable globale en Java