黑马程序员技术交流社区
标题:
ByteBuffer.array()的问题
[打印本页]
作者:
whocases
时间:
2012-6-28 20:06
标题:
ByteBuffer.array()的问题
本帖最后由 whocases 于 2012-6-30 19:28 编辑
书上说当调用ByteBuffer.array()的时候可能会抛出UnsupportedOperationException,但当我自己用allocate(int)来创建缓冲区后,再调用array()来获得数组,发觉根本就不会抛出此异常,我想知道是不是API里说错了还是为什么?
import java.nio.IntBuffer;
public class Test3{
public static void main(String[] args){
IntBuffer buffer = IntBuffer.allocate(10);
for(int i = 0 ; i < 5 ; i ++){
buffer.put(i);}
int[] array = buffer.array();
/**
*当是用ByteBuffer.array()方法来获得缓冲区中的数据数组时,
*此时缓冲区中的数据和对应的数组共享.
*/
buffer.flip();
buffer.put(100);
for(int i : array){
System.out.println(i);
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2