public class ColumnValue extends Object implements Comparable<ColumnValue>, Jsonizable, Measurable
| Modifier and Type | Field and Description |
|---|---|
static ColumnValue |
INTERNAL_NULL_VALUE
只供内部使用,请勿使用。
|
| Constructor and Description |
|---|
ColumnValue(Object value,
ColumnType type) |
| Modifier and Type | Method and Description |
|---|---|
byte[] |
asBinary()
获取属性列的二进制字符串类型的值。
|
boolean |
asBoolean()
获取属性列的布尔类型的值。
|
double |
asDouble()
获取属性列的DOUBLE类型的值。
|
long |
asLong()
获取属性列的长整型类型的值。
|
String |
asString()
获取属性列的字符串类型的值。
|
byte[] |
asStringInBytes() |
int |
compareTo(ColumnValue target)
比较两个属性列的值的大小。
|
boolean |
equals(Object o) |
static ColumnValue |
fromBinary(byte[] value)
构造一个类型为
ColumnType.BINARY的属性列。 |
static ColumnValue |
fromBoolean(boolean value)
构造一个类型为
ColumnType.BOOLEAN的属性列。 |
static ColumnValue |
fromDouble(double value)
构造一个类型为
ColumnType.DOUBLE的属性列。 |
static ColumnValue |
fromLong(long value)
构造一个类型为
ColumnType.INTEGER的属性列。 |
static ColumnValue |
fromString(String value)
构造一个类型为
ColumnType.STRING的属性列。 |
byte |
getChecksum(byte crc)
采用crc8算法得到一个checksum,主要用于计算cell的checksum
|
int |
getDataSize()
获取主键列值的大小,各类型大小计算公式为:
-
ColumnType.INTEGER: 恒定大小为8个字节
- ColumnType.DOUBLE: 恒定大小为8个字节
- ColumnType.BOOLEAN: 恒定大小为1个字节
- ColumnType.BINARY: 大小为字节数
- ColumnType.STRING: 大小为按UTF-8编码后的字节数 |
ColumnType |
getType()
获取属性列的类型。
|
Object |
getValue() |
int |
hashCode() |
String |
jsonize() |
void |
jsonize(StringBuilder sb,
String newline) |
String |
toString() |
public static ColumnValue INTERNAL_NULL_VALUE
public ColumnValue(Object value, ColumnType type)
public Object getValue()
public int getDataSize()
ColumnType.INTEGER: 恒定大小为8个字节
- ColumnType.DOUBLE: 恒定大小为8个字节
- ColumnType.BOOLEAN: 恒定大小为1个字节
- ColumnType.BINARY: 大小为字节数
- ColumnType.STRING: 大小为按UTF-8编码后的字节数getDataSize in interface Measurablepublic ColumnType getType()
public static ColumnValue fromString(String value)
ColumnType.STRING的属性列。
注意:值不能为null pointer。
value - 字符串类型的值。public static ColumnValue fromLong(long value)
ColumnType.INTEGER的属性列。value - 长整型的值。public static ColumnValue fromBinary(byte[] value)
ColumnType.BINARY的属性列。
注意:值不能为null pointer。
value - 二进制字符串类型的值。public static ColumnValue fromDouble(double value)
ColumnType.DOUBLE的属性列。value - double类型的值。public static ColumnValue fromBoolean(boolean value)
ColumnType.BOOLEAN的属性列。value - 布尔类型的值。public String asString()
当前仅当数据类型为ColumnType.STRING才能获取到值。
public byte[] asStringInBytes()
public long asLong()
当前仅当数据类型为ColumnType.INTEGER才能获取到值。
public byte[] asBinary()
当前仅当数据类型为ColumnType.BINARY才能获取到值。
public double asDouble()
当前仅当数据类型为ColumnType.DOUBLE才能获取到值。
public boolean asBoolean()
当前仅当数据类型为ColumnType.BOOLEAN才能获取到值。
public byte getChecksum(byte crc)
throws IOException
crc - crc初始值IOExceptionpublic int compareTo(ColumnValue target)
注意:不同类型的属性列无法比较。
compareTo in interface Comparable<ColumnValue>target - public String jsonize()
jsonize in interface Jsonizablepublic void jsonize(StringBuilder sb, String newline)
jsonize in interface JsonizableCopyright © 2024. All Rights Reserved.