arison.jp arison.jp blog - 現在をたのしく、未来をたのしむ。日常の思い出兼備忘録。

Javaの文字列操作(StringBuilder)

Java StringBuilder

Javaの文字列操作

Java1.4以前は、String同士の文字列結合は、PGレビュー時に叩かれる筆頭でした。
「StringBufferを使え」と。

Java5では、StringBuilderが追加されました。
それから、PGレビュー時には、こういう風に言うようになりました。
「スレッドセーフの考慮が不要なら、StringBuilderを使え」と。

自分もPGレビューされる側からする側になったんだなあとか思いながら…。
もちろん、今でもPGレビューされる側でもあります。

StringBuffer vs StringBuilder
スレッドセーフ vs パフォーマンス

StringBuilder クラスは Java5(Tiger)で導入されたクラス。
機能は StringBuffer クラスとまったく同じ。

StringBuffer クラスのすべてのメソッドは synchronized になっており、同期化されている。
このため、複数のスレッドから使用される場合でも、安全に使用することができる。

StringBuilder クラスはStringBuffer クラスからsynchronized がはずされただけ。

複数のスレッドから文字列操作を行うのであれば StringBuffer クラス。
単一スレッドであれば StringBuilder クラスという使い分けをおこなうようにすれば OK です。

append(String str) メソッドは、J2SE 1.4.2 の StringBuffer#append(String str) メソッドの
null の時の処理など少しだけ違う。

【参考サイト】
J2SE 5.0 Tiger 虎の穴 StringBuilder
http://www.javainthebox.net/laboratory/J2SE1.5/TinyTips/StringBuilder/StringBuilder.html

About arison

大都会岡山の南部にある玉野市生まれ。 大都会岡山のIT会社(目標は大都会No.1)でコンピュータとお客を相手に日夜格闘中。 関東出張中はグルメブログ。 基本的に遊び人のおっさん。 ライフハックとガンダム好き。ギガフロート玉野を浸透中。

28. 2月 2013 by arison
Categories: 日記, プログラミング | Tags: | Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください