所有类


java.nio
类 ShortBuffer

java.lang.Object
  继承者 java.nio.Buffer
      继承者 java.nio.ShortBuffer
所有已实现的接口:
Comparable<ShortBuffer>

public abstract class ShortBuffer
   
   
   
   
   
extends Buffer
implements Comparable<ShortBuffer>

short 缓冲区。

此类定义了 short 缓冲区上的四类操作:

  • 读写单个 short 的绝对和相对 getput 方法。

  • 将此缓冲区的连续 short 序列传输到数组中的相对批量 get 方法;

  • 将 short 数组或其他 short 缓冲区中的连续 short 序列传输到此缓冲区的相对批量 put 方法;以及

  • short 缓冲区的 compactingduplicatingslicing 方法。

  • short 缓冲区可以通过 allocation 创建,此方法通过 wrapping 将一个现有 short 数组包装到缓冲区中来为缓冲区内容分配空间,或者通过创建现有字节缓冲区的视图来创建。

    像字节缓冲区一样,short 缓冲区要么是直接的,要么是非直接的。通过此类的 wrap 方法创建的 short 缓冲区将是非直接的。当且仅当字节缓冲区本身为直接时,作为字节缓冲区的视图创建的 short 缓冲区才是直接的。通过调用 isDirect 方法可以确定 short 缓冲区是否为直接的。

    指定此类中的方法(它们不返回其他值),以返回这些方法被调用时所在的缓冲区。这允许对方法调用进行链接。

    从以下版本开始:
    1.4

    方法摘要
    static ShortBuffer allocate(int capacity)
              分配新的 short 缓冲区。
     short[] array()
              返回实现此缓冲区的 short 数组(可选操作)
     int arrayOffset()
              返回此缓冲区的第一个元素在缓冲区的底层实现数组中的偏移量(可选操作)
    abstract  ShortBuffer asReadOnlyBuffer()
              创建共享此缓冲区内容的新的只读 short 缓冲区。
    abstract  ShortBuffer compact()
              压缩此缓冲区(可选操作)
     int compareTo(ShortBuffer that)
              将此缓冲区与另一个缓冲区进行比较。
    abstract  ShortBuffer duplicate()
              创建共享此缓冲区内容的新的 short 缓冲区。
     boolean equals(Object ob)
              判断此缓冲区是否与另一个对象相同。
    abstract  short get()
              相对 get 方法。
    abstract  short get(int index)
              绝对 get 方法。
     ShortBuffer get(short[] dst)
              相对批量 get 方法。
     ShortBuffer get(short[] dst, int offset, int length)
              相对批量 get 方法。
     boolean hasArray()
              判断是否可通过一个可访问的 short 数组实现此缓冲区。
     int hashCode()
              返回此缓冲区的当前哈希码。
    abstract  boolean isDirect()
              判断此 short 缓冲区是否为直接的。
    abstract  ByteOrder order()
              检索此缓冲区的字节顺序。
    abstract  ShortBuffer put(int index, short s)
              绝对 put 方法(可选操作)
    abstract  ShortBuffer put(short s)
              相对 put 方法(可选操作)
     ShortBuffer put(short[] src)
              相对批量 put 方法(可选操作)
     ShortBuffer put(short[] src, int offset, int length)
              相对批量 put 方法(可选操作)
     ShortBuffer put(ShortBuffer src)
              相对批量 put 方法(可选操作)
    abstract  ShortBuffer slice()
              创建新的 short 缓冲区,其内容是此缓冲区内容的共享子序列。
     String toString()
              返回总结了此缓冲区状态的字符串。
    static ShortBuffer wrap(short[] array)
              将 short 数组包装到缓冲区中。
    static ShortBuffer wrap(short[] array, int offset, int length)
              将 short 数组包装到缓冲区中。
     
    从类 java.nio.Buffer 继承的方法
    capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind
     
    从类 java.lang.Object 继承的方法
    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
     

    方法详细信息

    allocate

    public static ShortBuffer allocate(int capacity)
    分配新的 short 缓冲区。

    新缓冲区的位置将为零,其界限将为其容量,其标记是未定义的。它将具有一个底层实现数组,且其数组偏移量将为零。

    参数:
    capacity - 新缓冲区的容量,以 short 为单位
    返回:
    新的 short 缓冲区
    抛出:
    IllegalArgumentException - 如果 capacity 为负整数

    wrap

    public static ShortBuffer wrap(short[] array,
                                   int offset,
                                   int length)
    将 short 数组包装到缓冲区中。

    给定的 short 数组将支持新缓冲区;即缓冲区修改将导致数组修改,反之亦然。新缓冲区的容量将为 array.length,其位置将为 offset,其界限将为 offset + length,其标记是未定义的。其底层实现数组将为给定数组,并且其数组偏移量将为零。

    参数:
    array - 支持新缓冲区的数组
    offset - 要使用的子数组的偏移量;必须为非负且不大于 array.length。将新缓冲区的位置设置为此值。
    length - 要使用的子数组的长度;必须为非负且不大于 array.length - offset。将新缓冲区的界限设置为 offset + length
    返回:
    新的 short 缓冲区
    抛出:
    IndexOutOfBoundsException - 如果关于 offsetlength 参数的前提不成立

    wrap

    public static ShortBuffer wrap(short[] array)
    将 short 数组包装到缓冲区中。

    给定的 short 数组将支持新缓冲区;即缓冲区修改将导致数组修改,反之亦然。新缓冲区的容量和界限将为 array.length,其位置将为零,其标记是未定义的。其底层实现数组将为给定数组,并且其数组偏移量将为零。

    参数:
    array - 实现此缓冲区的数组
    返回:
    新的 short 缓冲区

    slice

    public abstract ShortBuffer slice()
    创建新的 short 缓冲区,其内容是此缓冲区内容的共享子序列。

    新缓冲区的内容将从此缓冲区的当前位置开始。此缓冲区内容的更改在新缓冲区中是可见的,反之亦然;这两个缓冲区的位置、界限和标记值是相互独立的。

    新缓冲区的位置将为零,其容量和界限将为此缓冲区中所剩余的 short 数量,其标记是未定义的。当且仅当此缓冲区为直接时,新缓冲区才是直接的,当且仅当此缓冲区为只读时,新缓冲区才是只读的。

    返回:
    新的 short 缓冲区

    duplicate

    public abstract ShortBuffer duplicate()
    创建共享此缓冲区内容的新的 short 缓冲区。

    新缓冲区的内容将为此缓冲区的内容。此缓冲区内容的更改在新缓冲区中是可见的,反之亦然;这两个缓冲区的位置、界限和标记值是相互独立的。

    新缓冲区的容量、界限、位置和标记值将与此缓冲区相同。当且仅当此缓冲区为直接时,新缓冲区才是直接的,当且仅当此缓冲区为只读时,新缓冲区才是只读的。

    返回:
    新的 short 缓冲区

    asReadOnlyBuffer

    public abstract ShortBuffer asReadOnlyBuffer()
    创建共享此缓冲区内容的新的只读 short 缓冲区。

    新缓冲区的内容将为此缓冲区的内容。此缓冲区内容的更改在新缓冲区中是可见的,但新缓冲区将是只读的并且不允许修改共享内容。两个缓冲区的位置、界限和标记值是相互独立的。

    新缓冲区的容量、界限、位置和标记值将与此缓冲区相同。

    如果此缓冲区本身是只读的,则此方法与 duplicate 方法完全相同。

    返回:
    新的只读 short 缓冲区

    get

    public abstract short get()
    相对 get 方法。读取此缓冲区当前位置的 short,然后该位置递增。

    返回:
    缓冲区当前位置的 short
    抛出:
    BufferUnderflowException - 如果缓冲区当前位置不小于其界限

    微信小程序

    微信扫一扫体验

    微信公众账号

    微信扫一扫加关注

    发表
    评论
    返回
    顶部