首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

为什么这里会抛出错误呢

2012-01-14 
为什么这里会抛出异常呢?importjava.nio.*//importjava.util.*publicclassUsingBuffers{publicstaticvoi

为什么这里会抛出异常呢?
import   java.nio.*;
//import   java.util.*;

public   class   UsingBuffers
{
public   static   void   changePos(CharBuffer   cb)
{
while(cb.hasRemaining())
{
cb.mark();
char   c1=cb.get();
char   c2=cb.get();
cb.reset();
cb.put(c2).put(c1);
}
}
public   static   void   main(String[]   args)
{
//ByteBuffer   buf=ByteBuffer.allocate(1024);
CharBuffer   cb=CharBuffer.wrap( "ababab ");
//cb.put( "ababab ");
changePos((CharBuffer)cb.rewind());
System.out.println((CharBuffer)cb.rewind());
}
}
调用该static方法就会抛出异常,不调用则不会,这是怎么回事啊?

[解决办法]
因为传入的CharBuffer是ReadOnly的,不能被put

热点排行