JavaでStringBuffer作るときにchar値をぶちこんだら、あらぬことになりましたの。
・上手くいかなかった書き方
char c = 'a';
piyo = new StringBuffer(c);
(piyoの中身:"")
・正しいの
char c = 'a';
piyo= new StringBuffer(Character.toString(c));
(piyoの中身:"a")
ダメな例も素知らぬ顔で動いちゃうんですけど! なぜに!
Java6のAPI仕様書を見たら、StringBufferのコンストラクタの引数にcharなんて無いじゃないですか。びっくり。ええー、だったら例外の一つも出せですの。このやろぉぉー。
有効な引数にintがあったので、たぶん、charを整数値として受け取ったんでしょうかしら。。
文字を入れるためのcharが、裏技的に符合無しshortとして使えるのは有名な話ですが、こういう時に、まさかStringを差し置いてint側に倒れるとは予想外でしたの。。