にクエリ結果セットを取得する方法、クエリを実行した後、私は次のように設定された結果だと言う:私は、文字列がなるような文字列でこのResultSetをしたいJavaでは文字列
bat 20 10
fat 20 5
cat 10 25
を:
bat,20,10 |fat,20,5 |cat,10,25
私は混乱しています。どのように私はJavaでそれを行うことができますか?
にクエリ結果セットを取得する方法、クエリを実行した後、私は次のように設定された結果だと言う:私は、文字列がなるような文字列でこのResultSetをしたいJavaでは文字列
bat 20 10
fat 20 5
cat 10 25
を:
bat,20,10 |fat,20,5 |cat,10,25
私は混乱しています。どのように私はJavaでそれを行うことができますか?
ResultSet rs = ...
StringBuilder b = new StringBuilder();
while(rs.next()) {
String s = rs.getString(1);
int n1 = rs.getInt(2);
int n2 = rs.getInt(3);
b.append(s);
b.append(",");
b.append(n1);
b.append(",");
b.append(n2);
b.append("|");
}
結果セットを反復しながら、その内容を文字列に追加することができます。
String finalStr = "";
while(resultSet.next()){
finalStr+=resultSet.getString(1)+",";
finalStr+=resultSet.getInt(2).toString()+",";
finalStr+=resultSet.getInt(3).toString();
finalStr+="|";
}
ここで 'String'を使用すると、次の部分を追加するたびに文字列オブジェクトがコピーされるため、パフォーマンスが大幅に低下します。 'StringBuffer'または' StringBuilder'を使うことをお勧めします。私は、コンパイラが 'StringBuilder'を使うためにこれを最適化することは保証されていないと思います。 – hage
結果セットをループし、StringBuilderを使用して必要な文字列を作成するのはどうですか? –