Stringも、StringBufferも、CharSequenceインターフェースを実装しているため、メソッドの引数型をCharSequenceにしておいた方が幅広く受け取れる。
CharSequence (Java Platform SE 6)
Stringと、StringBufferで、それぞれfuncに渡してみる。
cs = ABCDE, cs.length() = 5 cs = FGHIJ, cs.length() = 5
どちらも受け取れて処理できた。
Sample/java/CharSequence/CharSequence/src/CharSequence at master · bg1bgst333/Sample · GitHub