Javaで文字列連結する際に頻繁に使用されているStringBuilderクラスですが、初期化する場合にどう実装しておくのが効率が良いのかメモしておきます。
基本的にStringBuilderオブジェクトを初期化する際は以下の2通りの方法があります。多少javaを触っている方であれば下記1のインスタンス生成はコストパフォーマンスが悪いので論外というのがわかるかと思います。基本は2の「StringBuilderクラスのdeleteメソッドを利用する」を使用すれば初期化出来ます。
- インスタンスを生成して設定
- StringBuilderクラスのdeleteメソッドを利用する
Javaソース
1 2 3 4 5 6 7 8 9 10 11 |
/** * <p>[概 要] StringBuilderの初期化</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @param strBld 初期化したいStringBuilderオブジェクト * @return 初期化後のStringBuilder */ public static StringBuilder cleaerStringBuilder(StringBuilder strBld){ strBld.delete(0, strBld.length()); return strBld; } |
JUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@Test public void cleaerStringBuilderTest() { // 準備 StringBuilder param = new StringBuilder(); param.append("abcdefghijklmn"); param.append("0123456789"); // 期待値 StringBuilder expected = new StringBuilder(); // 実行 StringBuilder result = UtilSample1.cleaerStringBuilder(param); // 検証 assertEquals("文字列が一致していません。", expected.toString(), result.toString()); } |