Je cherche une méthode propre et efficace pour déclarer plusieurs variables du même type et de la même valeur. En ce moment j'ai:
String one = "", two = "", three = "" etc...
Mais je cherche quelque chose comme:
String one,two,three = ""
Est-ce quelque chose qu'il est possible de faire en Java? Garder l'efficacité à l'esprit.
String one, two, three;
one = two = three = "";
Cela devrait fonctionner avec des objets immuables. Cela n'a aucun sens pour les objets mutables par exemple:
Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();
Toutes les variables pointeraient vers la même instance. Ce dont vous auriez probablement besoin dans ce cas est:
Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();
Ou mieux encore, utilisez un tableau ou un Collection
.
Vous pouvez déclarer plusieurs variables et en initialiser plusieurs, mais pas les deux en même temps:
String one,two,three;
one = two = three = "";
Cependant, ce genre de chose (en particulier les multiples affectations) serait mal vu par la plupart des Java développeurs, qui considéreraient cela comme le opposé de "visuellement simple".
Non, ce n'est pas possible en Java.
Vous pouvez faire de cette façon .. Mais essayez d'éviter le.
String one, two, three;
one = two = three = "";
Fonctionne pour les primitives et les classes immuables comme String
, classes Wrapper Character, Byte.
int i=0,j=2
String s1,s2
s1 = s2 = "Java rocks"
Pour les classes mutables
Reference r1 = Reference r2 = Reference r3 = new Object();`
Trois références + un objet sont créés. Toutes les références pointent sur le même objet et votre programme se comportera mal.
Tu peux le faire:
String one, two, three = two = one = "";
Mais ceux-ci indiqueront tous la même instance. Cela ne causera pas de problèmes avec les variables finales ou les types primitifs. De cette façon, vous pouvez tout faire en une seule ligne.
Je ne pense pas que ce soit possible, vous devez définir toutes les valeurs individuellement (comme dans le premier exemple que vous avez fourni).
Le deuxième exemple que vous avez donné n'initialisera que le dernier élément précieux "" et non les autres.