0

JDBC プログラムに文字列の arrayList があり、さまざまな列の内容を個々の文字列に追加するためにそれらにアクセスしたいのですが、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 のスポットに連結しようとしています。

4

2 に答える 2

3

String#concatは、元のものを不変Stringとして変更するのではなく、新しいものを返します。Strings代わりに、List要素を次の結果に設定しconcatます。

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

余談: Java 命名規則で定義されているように、変数名にはキャメルケースを使用します。projectData

于 2013-05-10T21:28:21.227 に答える
0

文字列は不変であり、concat を呼び出すと新しい文字列が返されます。temp を、列のデータと arrayList の現在の値の連結になるように設定し、ArrayList.set(index, temp) を呼び出して新しい値を格納する必要があります。

于 2013-05-10T21:31:14.347 に答える