2016-04-05 7 views
0

Mein aktuelles Problem, dass ich mein Zellobjekt überschreiben. Da ich ("cell" + i) nicht tun kann, wie würde ich in der Lage sein, dies zu tun?Java inkrementierte Objektnamen

public void printMonthCounts(int cellMonthPosition, String month) { 

     for (int i = 0; i < 10; i++) {//11 countrys 
      Row row = sheet2.createRow(7 + i);//Starts with Gb 
      Cell cell = row.createCell(cellMonthPos);//Month position 

      switch (i) { 
       case 0: 
        cell.setCellValue(countryHash.get(month).getGb()); 
        break; 
       case 1: 
        cell.setCellValue(countryHash.get(month).getPt()); 
        break; 
       case 2: 
        cell.setCellValue(countryHash.get(month).getEs()); 
        break; 
      } 
     } 

Ich bin mit Apache POI für excel, aber ich weiß, dass dies eine allgemeine Java ‚Ding‘ zu sein, ich bin Anfänger in Java.

Wie kann ich einen inkrementierten Objektnamen haben?

* Das Gehäuse ist länger, aber ich habe es für dieses Beispiel gekürzt.

+0

mit Ich würde vorschlagen, die Strings in einem Array und Schleife über das Array setzen. So etwas wie: 'Country c = countryHash.get (Monat); String [] values ​​= {c.getGb(), c.getPt(), c.getEs()} '. – aioobe

Antwort

2

Wenn ich das richtig verstanden habe, möchten Sie dynamisch Objektnamen erstellen? Lange Rede kurzer Sinn, du kannst nicht. Der übliche Weg dazu ist die Verwendung eines Arrays: Anstatt n Objekte namens cell1, cell2, etc zu erstellen, erstellen Sie einfach ein Array von Zellen und erstellen jedes Objekt an der Position ith Ihres Arrays.

+0

Es ist nicht wirklich ein * Workaround *. – Kayaman

+0

Nun, ich denke du hast Recht, ich werde es korrigieren. Englisch ist nicht meine Muttersprache, daher fehlen mir einige seiner Feinheiten. – Nico

0

Vielleicht sollten Sie versuchen, ein Array erstellen und den Index erhöht eine Schleife

Verwandte Themen