一連の StrBuf オブジェクトがあり、それらを連結する最も効率的な方法を知りたいです。
add()
メソッドはありますが、ドキュメントには「 x.toStr をこのバッファの最後に追加する」と書かれています。これを何度も何度も繰り返しているとしたら、StrBuf.toStr()
それほどパフォーマンスが良くないと思います。
(本当の答えは 1 つの StrBuf を使用することだとわかっていますが、ここで冗談を言ってください!)
乾杯。
アップデート:
Java ソースを見ると、内部バッファとして char 配列を使用StrBuf
する Javaが使用されています。StringBuilder
そうですね@Adrian
、大きな初期バッファを持つことが重要です。
関係する限りStrBuf.toStr()
、新しい Java String は次を使用して作成されますArrays.copyOfRange()
- これは合理的ですが、append(StringBuffer sb)
メソッドがあることを考えると不必要です。