请注意,在 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/

10-10 08:40