org.redkale.util

## 类 ByteArray

- java.lang.Object
- - org.redkale.util.ByteArray

-     public final class ByteArray
      extends java.lang.Object

  简单的byte[]操作类。

  详情见: https://redkale.org

- - ### 构造器概要

    构造器
    构造器和说明
    `ByteArray()`
    `ByteArray(int size)`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `clear()` 清空数据,将count置为0,并不清掉byte[]的内容
    `void` | `copyTo(byte[] buf)` 将buf内容覆盖到本对象内容中
    `byte[]` | `directBytes()` 直接获取全部数据, 实际数据需要根据size长度来截取
    `void` | `directFrom(ByteArray array)` 将array的内容引用复制给本对象
    `void` | `directTo(ByteArray array)` 将本对象的内容引用复制给array
    `boolean` | `equal(byte[] bytes)` 比较内容是否相同
    `int` | `find(byte value)` 查找指定值第一次出现的位置,没有返回-1
    `int` | `find(int offset, byte value)` 从指定的起始位置查询value值出现的位置,没有返回-1
    `int` | `find(int offset, char value)` 从指定的起始位置查询value值出现的位置,没有返回-1
    `int` | `find(int offset, int limit, byte value)` 从指定的起始位置和长度查询value值出现的位置,没有返回-1
    `int` | `find(int offset, int limit, char value)` 从指定的起始位置和长度查询value值出现的位置,没有返回-1
    `byte` | `get(int index)` 获取指定位置的byte值,须确保0 <= index < size
    `byte[]` | `getBytes()` 获取byte[]
    `byte[]` | `getBytesAndClear()` 获取byte[]并清空
    `byte` | `getLastByte()` 获取最后一个字节值,调用前须保证count大于0
    `boolean` | `isEmpty()` 判断内容是否为空
    `void` | `removeLastByte()` 移除最后一个字节
    `int` | `size()` 获取字节长度
    `java.lang.String` | `toDecodeString(int offset, int len, java.nio.charset.Charset charset)` 将指定的起始位置和长度按指定字符集并转义后转成字符串
    `java.lang.String` | `toString()`
    `java.lang.String` | `toString(java.nio.charset.Charset charset)` 按指定字符集转成字符串
    `java.lang.String` | `toString(int offset, int len, java.nio.charset.Charset charset)` 将指定的起始位置和长度按指定字符集转成字符串
    `java.lang.String` | `toStringAndClear(java.nio.charset.Charset charset)` 按指定字符集转成字符串并清空数据
    `void` | `write(byte... values)` 写入一组byte值
    `void` | `write(byte value)` 写入一个byte值
    `void` | `write(java.nio.ByteBuffer buffer, int len)` 写入ByteBuffer指定长度的数据
    `void` | `writeInt(int value)` 写入一个int值

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 构造器详细资料

    - #### ByteArray

          public ByteArray()

    - #### ByteArray

          public ByteArray(int size)

  - ### 方法详细资料

    - #### clear

          public void clear()

      清空数据,将count置为0,并不清掉byte[]的内容

    - #### equal

          public boolean equal(byte[] bytes)

      比较内容是否相同
      参数:
        `bytes` - 待比较内容
      返回:
        是否相同

    - #### isEmpty

          public boolean isEmpty()

      判断内容是否为空
      返回:
        是否为空

    - #### size

          public int size()

      获取字节长度
      返回:
        长度

    - #### get

          public byte get(int index)

      获取指定位置的byte值,须确保0 <= index < size
      参数:
        `index` - 位置
      返回:
        byte值

    - #### getLastByte

          public byte getLastByte()

      获取最后一个字节值,调用前须保证count大于0
      返回:
        byte值

    - #### copyTo

          public void copyTo(byte[] buf)

      将buf内容覆盖到本对象内容中
      参数:
        `buf` - 目标容器

    - #### directFrom

          public void directFrom(ByteArray array)

      将array的内容引用复制给本对象
      参数:
        `array` - ByteArray

    - #### directTo

          public void directTo(ByteArray array)

      将本对象的内容引用复制给array
      参数:
        `array` - ByteArray

    - #### directBytes

          public byte[] directBytes()

      直接获取全部数据, 实际数据需要根据size长度来截取
      返回:
        byte[]

    - #### getBytes

          public byte[] getBytes()

      获取byte[]
      返回:
        byte[]

    - #### getBytesAndClear

          public byte[] getBytesAndClear()

      获取byte[]并清空
      返回:
        byte[]

    - #### find

          public int find(byte value)

      查找指定值第一次出现的位置,没有返回-1
      参数:
        `value` - 查询值
      返回:
        所在位置

    - #### find

          public int find(int offset,
                          char value)

      从指定的起始位置查询value值出现的位置,没有返回-1
      参数:
        `offset` - 起始位置
        `value` - 查询值
      返回:
        所在位置

    - #### find

          public int find(int offset,
                          byte value)

      从指定的起始位置查询value值出现的位置,没有返回-1
      参数:
        `offset` - 起始位置
        `value` - 查询值
      返回:
        所在位置

    - #### find

          public int find(int offset,
                          int limit,
                          char value)

      从指定的起始位置和长度查询value值出现的位置,没有返回-1
      参数:
        `offset` - 起始位置
        `limit` - 长度限制
        `value` - 查询值
      返回:
        所在位置

    - #### find

          public int find(int offset,
                          int limit,
                          byte value)

      从指定的起始位置和长度查询value值出现的位置,没有返回-1
      参数:
        `offset` - 起始位置
        `limit` - 长度限制
        `value` - 查询值
      返回:
        所在位置

    - #### removeLastByte

          public void removeLastByte()

      移除最后一个字节

    - #### writeInt

          public void writeInt(int value)

      写入一个int值
      参数:
        `value` - int值

    - #### write

          public void write(byte value)

      写入一个byte值
      参数:
        `value` - byte值

    - #### write

          public void write(byte... values)

      写入一组byte值
      参数:
        `values` - 一组byte值

    - #### write

          public void write(java.nio.ByteBuffer buffer,
                            int len)

      写入ByteBuffer指定长度的数据
      参数:
        `buffer` - 数据
        `len` - 指定长度

    - #### toString

          public java.lang.String toString()

      覆盖:
        `toString` 在类中 `java.lang.Object`

    - #### toString

          public java.lang.String toString(java.nio.charset.Charset charset)

      按指定字符集转成字符串
      参数:
        `charset` - 字符集
      返回:
        字符串

    - #### toStringAndClear

          public java.lang.String toStringAndClear(java.nio.charset.Charset charset)

      按指定字符集转成字符串并清空数据
      参数:
        `charset` - 字符集
      返回:
        字符串

    - #### toString

          public java.lang.String toString(int offset,
                                           int len,
                                           java.nio.charset.Charset charset)

      将指定的起始位置和长度按指定字符集转成字符串
      参数:
        `offset` - 起始位置
        `len` - 长度
        `charset` - 字符集
      返回:
        字符串

    - #### toDecodeString

          public java.lang.String toDecodeString(int offset,
                                                 int len,
                                                 java.nio.charset.Charset charset)

      将指定的起始位置和长度按指定字符集并转义后转成字符串
      参数:
        `offset` - 起始位置
        `len` - 长度
        `charset` - 字符集
      返回:
        字符串