書式引数

JSDK1.4以前はMessageFormatクラスを使うしか無かったのだが、C#と同様にStringクラスからスタティックに呼ぶことのできる同名の書式化メソッドが出来たからもう大変。

序数の規定の指定がそれぞれ

MessageFormat.format ...{0}, {1},,,
String.format ...%1$s, %2$s,,,,

なのに、そこにきてC#のString.Formatは{0},{1}なので混乱することこの上なし。

せっかくなのでC#の時に用意したリソースを使いまわしたいのだが、そうするとば従来どおりMessageFormatクラスを使わなくてはならない訳だ。

んで、何? Java SE7はここにprintfも追加するんだって。 もう勘弁してくださいお願いだから一貫性を持たせてください。