文字列の連結時の仕組みについての質問です。
例えば、以下のようなコードで
Java
1public String joinWords(String[]words) { 2 String sentence = ""; 3 for(String w: words) { 4 sentence = sentence +w; 5 } 6 return sentence; 7}
連結の度に新しい文字列が生成され、そこに2つの文字列が1文字列ずつコピーされます。すなわち、プラス演算子を使うと新たなインスタンスが生成されるため、処理速度は遅いです。
そこで、速度を重視する場合には、StringBuilderを使えば良いというふうに考えていたのですが、terateilで質問した際に、回答者の方が+演算子もStringBuilderで実装されているとおっしゃっていたのですが、どちらが正しいのでしょうか?
以前はインスタンスの生成が起こっていたが、現在ではStringBuilderが使われるようになったのでしょうか?
ご存知の方、回答お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/27 11:31