Java apache commons StrBuilder サンプルプログラム
StrBuilderの説明(google翻訳)
StringBufferよりも柔軟で強力なAPIを提供する構成部分から文字列を作成します。
StringBuffer / StringBuilderとの主な相違点は次のとおりです。同期されていない
最終的ではない
サブクラスは文字配列に直接アクセスできます
その他の方法
appendWithSeparators – 値の配列を区切り記号で追加します。
appendPadding – 長さのパディング文字を追加する
appendFixedLength – 固定幅のフィールドをビルダーに追加する
toCharArray / getChars – 文字配列の範囲を取得する簡単な方法
delete – 文字または文字列の削除
replace – 文字や文字列の検索と置換
leftString / rightString / midString – 例外のない部分文字列
contains – ビルダにcharまたはstringが含まれているかどうか
size / clear / isEmpty – コレクションスタイルのAPIメソッド
ビュー
asTokenizer – 内部バッファをStrTokenizerのソースとして使用する
asReader – 内部バッファをReaderのソースとして使用する
asWriter – Writerが内部バッファに直接書き込むことを許可する
その目的は、StringBufferが提供するものと非常によく似たAPIを提供することでしたが、追加のメソッドを使用していました。無効なインデックスまたはヌル入力を伴ういくつかのエッジケースが変更されていることに注意してください。個々のメソッドを参照してください。これらの変更の中で最大のものは、デフォルトではnullがテキスト ‘null’を出力しないことです。これはプロパティsetNullText(String)で制御できます。3.0より前では、このクラスはCloneableを実装しましたが、クローンメソッドを実装していないため、使用できませんでした。 3.0以降ではインタフェースを実装しなくなりました。
StringBufferに不満があるあなたの為のソリューション!
StrBuilder
package jp.pjin.tech.java; import java.io.Reader; import org.apache.commons.lang3.text.StrBuilder; public class CommonsExample25 { public static void main(String[] args) throws Exception { StrBuilder sb = new StrBuilder(); sb.append("abc").append("def"); sb.asTokenizer().forEachRemaining(System.out::println); int b = 0; Reader r = sb.asReader(); while ((b = r.read()) != -1) { System.out.println((char)b); } } }
StringBufferやStringBuilderのように利用が可能です。
tokenizerや、Readerなどに変換も可能!
バッファリングも可能です!なんて素敵!