CharSequence

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