2014-03-06 15 views
0

當我嘗試將文本文件中的數據移動到arraylist中時,出現data.add(row)行上的錯誤; (找不到合適的方法)我該如何解決它?如果我想用它來填充java jtable(swing),是否使用arraylist好主意?將文件中的信息移動到ArrayList中

public ArrayList<String> getinformationforthetable() { 
    Scanner s = null; 
    ArrayList<String> data = new ArrayList<String>(); 
    try { 
     s = new Scanner(new File("info.txt")); 
     while (s.hasNextLine()) { 
     String line = s.nextLine(); 
     if (line.startsWith("")) { 
      String[] atoms = line.split("[#]"); 
      ArrayList<String> row = new ArrayList<String>(); 
      row.add(atoms[0]); 
      row.add(atoms[1]); 
        row.add(atoms[2]); 
        row.add(atoms[3]); 
        row.add(atoms[4]); 
        row.add(atoms[5]); 
      data.add(row); 

     } 
     } 
    } 
    catch(IOException e) { 
     e.printStackTrace();  
    } 
    finally { 
     if (s != null) { 
     s.close(); 
     } 
    } 
    return data; 
    } 
} 

回答

4

您試圖將List值添加爲字符串。它不允許添加。具有默認方法addAll()到列表中值最小公分母添加到mainList

data.add(row); 

代替

data.addAll(row); 
+1

1尼斯........ – MadProgrammer

5

這個錯誤是由於您的數據數組列表,是一個字符串

ArrayList<String> data = new ArrayList<String>(); 

和您嘗試另一個數組列表添加到它的數組列表。你應該改變它

List<List<String>> data = new ArrayList<List<String>>(); 

希望這會有所幫助。

+0

1列表('列表<列表...') – MadProgrammer

3

data被decalred如預期String值,但您要添加StringArrayList一個S吧...

ArrayList<String> data = new ArrayList<String>(); 
//... 
ArrayList<String> row = new ArrayList<String>(); 
data.add(row); 

取決於你想要達到並基於該示例代碼是什麼,你應該做的更多的東西一樣......

ArrayList<ArrayList<String>> data = new ArrayList<ArrayList<String>>(); 

如果您希望能夠添加rowArrayListdataArrayList。 ..

相關問題