StringBuilder と CharBuffer は両方とも、CharSequence および Appendable インターフェースを実装します。スーパーインターフェースを宣言するとき
public interface IAppendableCharSequence extends CharSequence, Appendable{}
次に、CharBuffer を IAppendableCharSequence にキャストできますが、StringBuilder にはキャストできません。
private IAppendableCharSequence m_buffer;
// ...
m_buffer = (IAppendableCharSequence) CharBuffer.allocate(512); // ok
m_buffer = (IAppendableCharSequence) new StringBuilder(512); // Cannot cast from StringBuilder to IAppendableCharSequence
何故ですか?ありがとう!