在以下情况下,是否有任何理由需要CharBuffer
而不是char[]
:
CharBuffer buf = CharBuffer.allocate(DEFAULT_BUFFER_SIZE);
while( in.read(buf) >= 0 ) {
out.append( buf.flip() );
buf.clear();
}
与
char[] buf = new char[DEFAULT_BUFFER_SIZE];
int n;
while( (n = in.read(buf)) >= 0 ) {
out.write( buf, 0, n );
}
(其中
in
是Reader
中的out
和Writer
)? 最佳答案
不,在这种情况下,实际上没有理由偏爱CharBuffer
。
通常,CharBuffer
(和ByteBuffer
)可以真正简化API并鼓励正确的处理。如果您正在设计一个公共(public)API,那么绝对值得考虑使用面向缓冲区的API。