Nicht beschränkt auf for-Schleifen, while-Schleifen, if-else-Anweisungen, try-catch usw. Es gibt verschiedene "Blöcke", aber lassen Sie uns Variablen deklarieren, die nur in ihnen im Block verwendet werden.
List<String> strList = new ArrayList<String>();
String str = new String(); //← Das! !! !!
for (int i = 0 ; i <= 10 ; i++) {
str = i + "Th";
strList.add(str);
}
Da String str
außerhalb der for-Schleife deklariert ist, kann es auch außerhalb der for-Schleife verwendet werden.
Es widerspricht also Javas Theorie, dass "der Umfang so klein wie möglich ist!"
Es gab ungefähr zwei Leute, die so geschrieben haben, also fragte ich: "Warum hast du so geschrieben?" Dann
Da derselbe
String str
verwendet wird, frage ich mich, ob dadurch Speicherplatz gespart wird.: Sparkles:
Es ist jedoch keine falsche Idee in dem Sinne, dass Sie nicht viele nutzlose Variablen erstellen: heat_smile: Es ist jedoch NG: ng: weil der Bereich unnötig erweitert wird.
List<String> strList = new ArrayList<String>();
for (int i = 0 ; i <= 10 ; i++) {
String str = new String();
str = i + "Th";
strList.add(str);
}
Verwenden Sie String str
nur in for-Schleifen.
Wenn Sie es dann in der for-Schleife deklarieren, wird der Bereich kleiner.
Da Java über eine Speicherbereinigungsfunktion verfügt, mit der "Speicher freigegeben werden kann, sobald er aufgebraucht ist", wird für jede for-Schleife ein neuer "String str" erstellt und freigegeben. Daher müssen Sie sich des Gedächtnisses nicht sehr bewusst sein.
Variablen, die nur in der for-Schleife verwendet werden, werden in der for-Schleife deklariert.
Wenn Sie sich verlaufen, versuchen Sie grob gesagt, eine Variable in die Schleife einzufügen. Wenn kein Fehler vorliegt, können Sie ihn unverändert lassen.
In meinem Fall frage ich mich, ob das in "Gutes Beispiel" geschriebene Programm bisher organisiert wird.
List<String> strList = new ArrayList<String>();
for (int i = 0 ; i <= 10 ; i++) {
strList.add(i + "Th");
}
Recommended Posts