购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 Buffer类的使用

在JDK 1.8.0_92版本中,Buffer类的API列表如图1-7所示。

本节会对这些API进行演示和讲解,目的就是让读者全面地掌握NIO核心类—Buffer的使用。

需要注意的是,Buffer.java类是抽象类,并不能直接实例化,而其子类:ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer和ShortBuffer也是抽象类。这7个子类的声明信息如下:

public abstract class ByteBuffer extends Buffer
public abstract class CharBuffer extends Buffer
public abstract class DoubleBuffer extends Buffer
public abstract class FloatBuffer extends Buffer
public abstract class IntBuffer extends Buffer
public abstract class LongBuffer extends Buffer
public abstract class ShortBuffer extends Buffer

图1-7 Buffer类的API列表

抽象类Buffer.java的7个子类也是抽象类,也就意味着ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer和ShortBuffer这些类也不能被直接new实例化。如果不能直接new实例化,那么如何创建这些类的对象呢?使用的方式是将上面7种数据类型的数组包装(wrap)进缓冲区中,此时就需要借助静态方法wrap()进行实现。wrap()方法的作用是将数组放入缓冲区中,来构建存储不同数据类型的缓冲区。

注意 缓冲区为非线程安全的。

下面就要开始介绍Buffer类中全部的API了。虽然Buffer类的7个子类都有与其父类(Buffer类)相同的API,但为了演示代码的简短性,在测试中只使用ByteBuffer或CharBuffer类作为API功能的演示。 YVH2xOyeLIilc+KmgRIhYVsLdOsRc3/2P0ijV7FsGHu1H7AKnZj8xVJxmZ8dWhoL

点击中间区域
呼出菜单
上一章
目录
下一章
×