- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:StringBuilderをStringに代入)
StringBuilderを使ったSQL文の生成方法
このQ&Aのポイント
- StringBuilderを使って文字列連結してSQL文を生成するプログラムを作りました。
- StringBuilderの文字列をString型に変換する方法は2つあります。
- どちらの方法もコストはほぼ同じですが、一般的にはtoString()メソッドを使用することが多いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
↓だって。速さならtoString()の方がいいみたいよ。 String public String(StringBuilder builder) 文字列ビルダー引数に現在含まれている文字列を持つ新しい文字列を割り当てます。文字列ビルダーの内容がコピーされます。 コピー後に文字列ビルダーが変更されても、新しく作成された文字列には影響しません。 このコンストラクタを使用すると、StringBuilder に移行しやすくなります。toString メソッドを使って文字列ビルダーから文字列を取得するのは、処理が高速になるので一般的に推奨されています。 パラメータ: builder - StringBuilder 導入されたバージョン: 1.5
その他の回答 (2)
- pringlez
- ベストアンサー率36% (598/1630)
回答No.3
たった10万回しかまわさないのであれば全く気にする必要は無いと思いますけど。 私の6年前のPCで実行したところ、どちらも0.15秒程度で有意な差はありませんでした。 それぞれ5回くらいしか試してませんけど。
- mjsamiasan
- ベストアンサー率57% (55/95)
回答No.2
ちょっと質問の意図とは離れるかもしれませんが、気になるのでひとつ。 使用しているDBはなんでしょうか? 同じようなSQLで項目が違うだけならば、パラメータを使用した方が、高速になるような気がします。 ご検討あれ。
補足
別々のシステムですが、オラクルとポスグレの二つで作ってます。 確かにパラメータの方がインジェクション対応としても優れているとは思うのですが、 テーブル名が可変(テーブル名はパラメータ化不可能)というのと、 あとはタイムスタンプ型への変換などでうまくいかなかったので今回は全部StringBuilderでやってしまいました。