1

我将列值存储在 DB 中:

  1. 一个空字节数组new byte[0]
  2. 一个 int 值
  3. 一个非空byte[]

在检索列值时,我将其作为字节缓冲区进行检索,并且我需要检测它是否存储了整数、空字节 [] 或非空字节 []。

我如何检测读取的 Bytebuffer,在上述 3 个可能的选项中存储了什么?

4

1 回答 1

1

你不能,毕竟它们只是一堆碎片。你需要一个外部指标。它可以是第二列或输入的第一位。

如果您加载了一个空缓冲区,则会byte[]存储空缓冲区。如果它不为空,请检查第一位(或为简单起见的字节)。同意某个值表示其余的是byte[],而其他值表示已编码int。当然,在此之前,您还必须存储该指标。

于 2012-10-06T19:20:40.957 回答