Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » Java与OOP初步  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 一个关于ByteBuffer.array()的问题(结贴)
micsolaris





发贴: 36
积分: 5
于 2010-07-07 21:37 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
书上说当调用ByteBuffer.array()的时候可能会抛出UnsupportedOperationException()[*If this buffer is not backed by an accessible array],但当我自己用allocate(int)来创建缓冲区后,再调用array()来获得数组,发觉根本就不会抛出此异常,我想知道是不是API里说错了还是为什么?

//package com.ricky.www;

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);
    }
  }
}


micsolaris edited on 2010-07-07 21:48


话题树型展开
人气 标题 作者 字数 发贴时间
14715 一个关于ByteBuffer.array()的问题(结贴) micsolaris 1037 2010-07-07 21:37
12649 Re:一个关于ByteBuffer.array()的问题 micsolaris 48 2010-07-07 21:47
13718 Re:一个关于ByteBuffer.array()的问题(结贴) JiafanZhou 646 2010-07-08 16:53

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923