2008年12月26日金曜日

Javaでの文字列整形 (J2SE 1.4系)

私は元々C/C++開発者。

なので、「sprintf~」「printf~」構文は欠かせません。
printf、sprintf関数は、C/C++で文字列の整形を行うものです。

例えば、こんなことが出来ます。

(C++言語のソース)

(出力結果)
ただいまの値=0000200と、abcdefg

割と簡単に、色々整形しながら出力できます。しかも構文は一行。
sprintfを使えば、同じ形式で画面上ではなく、メモリ上の文字列データへ出力できますしね。

で、今の私は主にJava開発者です。
同じプログラムな訳で、当然値を整形して出力する事もあるわけですが。

実は、Java1.4にはこのsprintfに相当する機能が存在しないんですよ。
それも、同じことをするのに非常に面倒なコーディングが必要。

こんな感じ。

(JAVAのソース)

(出力結果)
ただいまの値=0000200と、abcdefg

…長い。
えらく面倒だってばさ。

たかだか2、3行と思うかもしれないけれど、実はそう簡単じゃないんですよ。
実は、加工する値と加工する形式が増えれば増えるほど、この2,3行の追加分が3倍、4倍、と膨れ上がっていくわけで。

C/C++では同じ1行で出来ることを、数百行のソースを書いてやっとできるんです。


はー。


ちなみに、最近リリースされた、J2SE5.0以降では、ほとんどC/C++のsprintf、printfと同じ機能、使い勝手の関数が実装されたらしいです。
他にもJ2SE5.0では、かなり色々とC/C++に似た便利な機能が移植されているそうですよ。


きっと相当要望があったんだろうなー。


ま、企業向け開発者の私がJ2SE5.0で開発できるようになる時代なんて、何年先になるのか分からないけれど。

…ああ、やだやだ。