我的JDBC程序中有一个字符串数组,我想访问它们以便将不同列的内容添加到单个字符串中,但concat
方法对我的字符串不起作用,无论如何原因。
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);
}
}
我为了这个问题的目的简化了很多,但是temp存储了一列中的数据,然后我试图将它连接到arrayList中的一个点,该点已经被一个空字符串填充。 / p>
答案 0 :(得分:3)
String#concat返回新的String
而非修改原始Strings
,因为List
是不可变的。而是将concat
元素设置为project_data.set(arr_pos, project_data.get(arr_pos).concat(temp));
的结果:
projectData
除此之外:使用camelCase作为Java naming conventions中定义的变量名称 - 例如{{1}}
答案 1 :(得分:0)
字符串是不可变的,调用concat会返回一个新的String。您需要将temp设置为来自列的数据和arrayList中的当前值的连接,然后调用ArrayList.set(index,temp)来存储新值。