java.lang.StringBuffer
StringBuffer#append() で、バイナリ値を追加したかった。
たとえば、RS-232C使った通信ソフトだと、こんなん書きたい。
StringBuffer sb = new StringBuffer(); sb.append(STX); sb.append("hoge"); sb.append(ETX);
でも、バイナリ値を文字列に追加するようなメソッドは無かった。
STXやETXは、悲しいかな、整数値の文字列表現で追加されてしまう。
いろいろ試したがバイナリ値は追加できない。
可変長文字列でバイナリ値を扱いたいなら、こんなメソッドを作っておいて、
private void append(StringBuffer sb, char c) { sb.setLength(sb.length() + 1); sb.setCharAt(sb.length(), c); }
sb.append(c); するかわりに append(sb, c); とするのがいいかも。