2013-05-10 30 views
0

我在我的JDBC程序中有一個字符串數組列表,我想訪問它們以便將不同列的內容添加到單個字符串中,但由於某種原因,concat方法對我的字符串不起作用。如何訪問arrayList的字符串成員以連接到它們?

while (project_set.next()){ 
    for (int i=3;i<=meta.getColumnCount();i++){ 
     int arr_pos = i-3; 
     String temp =project_set.getString(i) + "\n"; 
     project_data.get(arr_pos).concat(temp); 
    } 
} 

我簡化了很多對這一問題的目的,但臨時存儲從一列中的數據,然後我試圖以串連到ArrayList中一個點,它已經被填補的空字符串。

回答

3

String#concat返回一個新的String而不是修改原來的Strings是不可變的。代替List元件設置爲concat結果:

project_data.set(arr_pos, project_data.get(arr_pos).concat(temp)); 

除了:使用駝峯爲如在Java naming conventions定義的變量名 - 例如projectData

+0

仍然有麻煩....沒有工作,但現在我正在使用一個結構和麻煩做同樣的事情'projectWork'字段,這是一個字符串。 'String temp = projectSet.getString(i)+「\ n」; \t \t \t String temp2 = projectData.get(arrPos).projectWork.concat(temp); \t \t \t projectData.get(arrPos).projectWork = temp2; \t \t \t projectData.get(arrPos).projectName = meta.getColumnName(i);' – 2013-05-11 01:30:27

+0

沒有足夠的信息來回答該問題。最好的辦法是1)[接受這個答案](http://meta.stackexchange.com/a/65088/155831)2)創建一個新的帖子,詳細說明'projectData'使用的所有類型信息和值。 – Reimeus 2013-05-11 01:56:20

+0

好的,我會感謝@Reimeus – 2013-05-11 02:00:05

0

字符串是不可變的,調用concat返回一個新的字符串。您需要將temp設置爲來自列的數據和arrayList中的當前值的聯合,然後調用ArrayList.set(index,temp)來存儲新值。