Non limité aux boucles for, while, aux instructions if-else, try-catch, etc. Il existe différents "blocs", mais déclarons des variables qui ne sont utilisées que dans eux dans le bloc.
List<String> strList = new ArrayList<String>();
String str = new String(); //← Ça! !! !!
for (int i = 0 ; i <= 10 ; i++) {
str = i + "Th";
strList.add(str);
}
Puisque String str
est déclaré en dehors de la boucle for, il peut également être utilisé en dehors de la boucle for.
Cela va donc à l'encontre de la théorie de Java selon laquelle "la portée est aussi petite que possible!"
Il y avait environ deux personnes qui écrivaient de cette façon, alors j'ai demandé: «Pourquoi avez-vous écrit de cette façon? Puis
Je me demande si cela économisera de la mémoire car j'utilise le même
String str
: sparkles:
Ce n'est pas une mauvaise idée dans le sens où vous ne créez pas beaucoup de variables inutiles, cependant: sweat_smile: Cependant, c'est NG: ng: parce que la portée se développe inutilement.
List<String> strList = new ArrayList<String>();
for (int i = 0 ; i <= 10 ; i++) {
String str = new String();
str = i + "Th";
strList.add(str);
}
Utilisez String str
uniquement dans les boucles for.
Ensuite, si vous le déclarez dans la boucle for, la portée sera plus petite.
Puisque Java a une fonction de ramassage des ordures pour "libérer de la mémoire dès qu'elle est épuisée", un nouveau "String str" est créé et publié pour chaque boucle for. Par conséquent, vous n'avez pas besoin d'être très conscient de la mémoire.
Les variables utilisées uniquement dans la boucle for sont déclarées dans la boucle for.
En gros, si vous vous perdez, essayez de mettre une variable dans la boucle. S'il n'y a pas d'erreur, vous pouvez le laisser tel quel.
Dans mon cas, je me demande si le programme écrit en "Bon exemple" sera organisé jusqu'à présent.
List<String> strList = new ArrayList<String>();
for (int i = 0 ; i <= 10 ; i++) {
strList.add(i + "Th");
}
Recommended Posts