关于rewind()

jadic 2007-10-14 08:52:20
import java.io.*;
import java.nio.*;
public class BatchWriter {
public static void main(String[] args)throws IOException {
ByteBuffer bb=ByteBuffer.allocate(1024);
IntBuffer ib=bb.asIntBuffer();
ib.put(new int[]{10,20,30,40,50});
System.out.println(ib.get(3));

ib.put(3, 100);
System.out.println(ib.get(3));

ib.rewind();
while(ib.hasRemaining()){
int i=ib.get();
if(i==0) break;
System.out.println(i);
}
}
}

上面结果打印
40
100
10
20
30
100
50

但我把ib.rewind()去掉,为什么就只打印
40
100

当前位置不是3吗,50为什么不打印了? 谢谢
...全文
96 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jadic 2007-10-14
  • 打赏
  • 举报
回复
哪位朋友知道的,还望指点一二,谢谢了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧