Javaでの文字列結合には気をつけよう!という話



非効率はやめよう

ということでよくあるコードとして紹介されていた内容をそのままメモ。
使えるようにしておく。

public class concat {
  // ループごとにStringBuilderオブジェクトを生成し、2回のappend処理を行う。非効率になる可能性高し。
	static String concatTest1(String[] array) {
		String result = "";
		for(String s:array) {
			result += s; // +=演算で文字列結合
		}
		return result;
	}
	// 効率よし。ただしイミュータブルなStringを使わないことでバグが出やすくなるためそこの安全性を取るか効率を取るかはご自由に。
  static String concatTest2(String[] array) {
		StringBuilder result = new StringBuilder();
		for(String s:array) {
			result.append(s); // +=演算で文字列結合
		}
		return result.toString();
	}
}

コメント

このブログの人気の投稿

Braveブラウザの同期機能をiPhoneで設定した話。

JavaのindexOf関数はナイーブ法で実装されているらしい

C++のstd::lower_bound()とPythonでの話。