2016-04-29 4 views
-1

Ich habe den folgenden Code erstellt, um Region-Objekte zu erstellen, die Informationen enthalten. (Koordinaten, Wahldaten usw.). Ich frage mich, ob ich nicht mehr auf diese verweisen kann, nachdem sie in den Speicher gelegt wurden (d. H. Sie werden jedes Mal überschrieben, wenn sie durch das Objekt (Loop) gehen) Danke!Wenn ich ein Objekt mit einer Liste und dem gleichen Konstruktor mache, heißt das, nachdem ich es gemacht habe, kann ich es nicht mehr referenzieren?

for (File object: fileList){ 
     try { 
     region = new Region(object.getName()); 
      System.out.println(region); 
     region.getSelection(); 
     } catch (Exception e) { 

     } 
    } 

Wenn ich kann, wie würde ich dieses Objekt verweisen? Entschuldigung, wenn diese Frage oder eine ähnliche Frage beantwortet wurde. Ich konnte kein ähnliches finden, um zu wissen, was genau dieser Code macht.

+0

In der Schleife, ja, würden Sie nicht in der Lage sein, sie wieder zu öffnen. Setzen Sie sie in eine Art von Datenstruktur, d. H. Eine Liste , Set oder eine andere Sammlung . –

+0

@ Meguy26 Danke, ich habe eine Liste von Regionen erstellt und jeweils hinzugefügt. – Waker

+0

Wie Meguy 26 sagte, dann in eine Liste oder ein Array. Deklarieren Sie die Datenstruktur außerhalb der for-Schleife und fügen Sie die Region für jedes Mal hinzu, wenn die Schleife ausgeführt wird. – Nasir

Antwort

0

Lösung:

List<Region> regionList = new ArrayList<>(); 
List<File> fileList = new ArrayList<>(); 

    for (File object: fileList){ 
       try { 
       regionList.add(new Region(object.getName())); 
       region.getSelection(); 
       } catch (Exception e) { 

       } 
      } 
Verwandte Themen