请注意,在 JDK 文档中, rewind()
和 clear()
看起来很像“清理” ByteBuffer
。实际上旧数据是存在的,而且在channel-write或get操作之前应该使用rewind()
,clear()
对应channel-read或put操作。
我对给定的描述感到困惑。这些地球上的对应物有什么区别?
最佳答案
不同之处在于 clear
将限制重置为容量,因此为要写入(并由您读取)的其他数据准备缓冲区,而 rewind
不会对限制执行任何操作,因此您的数据可能会再次读取。
关于java - ByteBuffer 类的 rewind() 和 clear() 有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25219770/