Frage zur for Schleife

JVolker

Aktives Mitglied
Hallo,

hoffe das ist keine dumme Frage:

ich habe eine for-Schleife mit der ich meine Daten aus einer JTable auslese, jetzt ist die Frage ob ich meine Objekte und Strings in der Schleife erstellen soll oder auserhalb und nur in der Schleife die Werte ändere????

Java:
 for (int n = 0;n<CNC.j.model.data.length;n++) 
    { 
      Object xobj = Test.j.table.getValueAt( n, 1);
      String xs = (String)xobj;
      Float x = Float.parseFloat(xs);
      
      Object yobj = Test.j.table.getValueAt( n, 2);
      String ys = (String)yobj;
      Float y = Float.parseFloat(ys);

Frage ist da überhaupt ein unterschied.(wird da jedesmal ein neues Objekt mit dem leichen Namen angelegt oder wird das alte Überschrieben????)
 
Ich würde die Variablen innerhalb der Schleife anlegen, sonst ist deren scope größer als nötig. Nen Performanceunterschied wirst du nicht merken.
 
Ich würde die Variablen innerhalb der Schleife anlegen, sonst ist deren scope größer als nötig. Nen Performanceunterschied wirst du nicht merken.

Bist du dir da sicher? Ich kann mich bei sowas oft nur schlecht Entscheiden. Was den Scope angeht ist es natürlich besser die Variable innerhalb der Schleife zu definieren aber wenn ich mir dann vorstelle, dass die Schleife mehrere tausende mal durchlaufen wird, wird in seinem Fall z.B. 6x so viele Referenzen erzeugt.
 
Die werden vom GC dann schon weggeräumt wenn Speicher gebraucht wird 😉
Solange man keine tatsächlichen Performanceprobleme hat sollte man den mMn Code so übersichtlich wie möglich halten.
 
Ja, da hast du wohl recht.

Ich habe glaube ich irgendwo mal gelesen, dass man die Deklaration außerhalb machen sollte, damit die Referenzen nicht jedes mal neu angelegt werden müssen. Das mache ich dann auch bei Schleifen, wo ich weiß, dass diese sehr oft durchlaufen werden obwohl ich das eigentlich nicht so schön finde.
 

Zurück
Oben