mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
hbase类型转换工具类整理
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
package com.alibaba.otter.canal.client.adapter.hbase.support;
|
package com.alibaba.otter.canal.client.adapter.hbase.support;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.sql.Time;
|
import java.sql.Time;
|
||||||
@@ -13,65 +16,44 @@ import java.util.Date;
|
|||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*/
|
*/
|
||||||
public enum PhType {
|
public enum PhType {
|
||||||
DEFAULT(-1, "VARCHAR"), UNSIGNED_INT(4, "UNSIGNED_INT"), UNSIGNED_LONG(8, "UNSIGNED_LONG"),
|
DEFAULT, UNSIGNED_INT, UNSIGNED_LONG, UNSIGNED_TINYINT, UNSIGNED_SMALLINT, UNSIGNED_FLOAT,
|
||||||
UNSIGNED_TINYINT(1, "UNSIGNED_TINYINT"), UNSIGNED_SMALLINT(2, "UNSIGNED_SMALLINT"),
|
UNSIGNED_DOUBLE, INTEGER, BIGINT, TINYINT, SMALLINT, FLOAT, DOUBLE, DECIMAL, BOOLEAN, UNSIGNED_TIME,
|
||||||
UNSIGNED_FLOAT(4, "UNSIGNED_FLOAT"), UNSIGNED_DOUBLE(8, "UNSIGNED_DOUBLE"), INTEGER(4, "INTEGER"),
|
UNSIGNED_DATE, UNSIGNED_TIMESTAMP, TIME, DATE, TIMESTAMP, VARCHAR, VARBINARY;
|
||||||
BIGINT(8, "BIGINT"), TINYINT(1, "TINYINT"), SMALLINT(2, "SMALLINT"), FLOAT(4, "FLOAT"), DOUBLE(8, "DOUBLE"),
|
|
||||||
DECIMAL(-1, "DECIMAL"), BOOLEAN(1, "BOOLEAN"), UNSIGNED_TIME(8, "UNSIGNED_TIME"),
|
|
||||||
UNSIGNED_DATE(8, "UNSIGNED_DATE"), UNSIGNED_TIMESTAMP(12, "UNSIGNED_TIMESTAMP"), TIME(8, "TIME"), DATE(8, "DATE"),
|
|
||||||
TIMESTAMP(12, "TIMESTAMP"), VARCHAR(-1, "VARCHAR"), VARBINARY(-1, "VARBINARY");
|
|
||||||
|
|
||||||
/**
|
private static Logger logger = LoggerFactory.getLogger(PhType.class);
|
||||||
* -1:长度可变
|
|
||||||
*/
|
|
||||||
private int len;
|
|
||||||
private String type;
|
|
||||||
|
|
||||||
PhType(int len, String type){
|
|
||||||
this.len = len;
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getLen() {
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return this.type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static PhType getType(Class<?> javaType) {
|
public static PhType getType(Class<?> javaType) {
|
||||||
if (javaType == null) return DEFAULT;
|
if (javaType == null) return DEFAULT;
|
||||||
PhType phType;
|
PhType phType;
|
||||||
if (Integer.class.isAssignableFrom(javaType) || int.class.isAssignableFrom(javaType)) {
|
if (Integer.class == javaType || int.class == javaType) {
|
||||||
phType = INTEGER;
|
phType = INTEGER;
|
||||||
} else if (Long.class.isAssignableFrom(javaType) || long.class.isAssignableFrom(javaType)) {
|
} else if (Long.class == javaType || long.class == javaType) {
|
||||||
phType = BIGINT;
|
phType = BIGINT;
|
||||||
} else if (Byte.class.isAssignableFrom(javaType) || byte.class.isAssignableFrom(javaType)) {
|
} else if (Byte.class == javaType || byte.class == javaType) {
|
||||||
phType = TINYINT;
|
phType = TINYINT;
|
||||||
} else if (Short.class.isAssignableFrom(javaType) || short.class.isAssignableFrom(javaType)) {
|
} else if (Short.class == javaType || short.class == javaType) {
|
||||||
phType = SMALLINT;
|
phType = SMALLINT;
|
||||||
} else if (Float.class.isAssignableFrom(javaType) || float.class.isAssignableFrom(javaType)) {
|
} else if (Float.class == javaType || float.class == javaType) {
|
||||||
phType = FLOAT;
|
phType = FLOAT;
|
||||||
} else if (Double.class.isAssignableFrom(javaType) || double.class.isAssignableFrom(javaType)) {
|
} else if (Double.class == javaType || double.class == javaType) {
|
||||||
phType = DOUBLE;
|
phType = DOUBLE;
|
||||||
} else if (Boolean.class.isAssignableFrom(javaType) || boolean.class.isAssignableFrom(javaType)) {
|
} else if (Boolean.class == javaType || boolean.class == javaType) {
|
||||||
phType = BOOLEAN;
|
phType = BOOLEAN;
|
||||||
} else if (java.sql.Date.class.isAssignableFrom(javaType)) {
|
} else if (java.sql.Date.class == javaType) {
|
||||||
phType = DATE;
|
phType = DATE;
|
||||||
} else if (Time.class.isAssignableFrom(javaType)) {
|
} else if (Time.class == javaType) {
|
||||||
phType = DATE;
|
phType = DATE;
|
||||||
} else if (Timestamp.class.isAssignableFrom(javaType)) {
|
} else if (Timestamp.class == javaType) {
|
||||||
phType = TIMESTAMP;
|
phType = TIMESTAMP;
|
||||||
} else if (Date.class.isAssignableFrom(javaType)) {
|
} else if (Date.class == javaType) {
|
||||||
phType = DATE;
|
phType = DATE;
|
||||||
} else if (byte[].class.isAssignableFrom(javaType)) {
|
} else if (byte[].class == javaType) {
|
||||||
phType = VARBINARY;
|
phType = VARBINARY;
|
||||||
} else if (String.class.isAssignableFrom(javaType)) {
|
} else if (String.class == javaType) {
|
||||||
phType = VARCHAR;
|
phType = VARCHAR;
|
||||||
} else if (BigDecimal.class.isAssignableFrom(javaType)) {
|
} else if (BigDecimal.class == javaType) {
|
||||||
phType = DECIMAL;
|
phType = DECIMAL;
|
||||||
} else if (BigInteger.class.isAssignableFrom(javaType)) {
|
} else if (BigInteger.class == javaType) {
|
||||||
phType = UNSIGNED_LONG;
|
phType = UNSIGNED_LONG;
|
||||||
} else {
|
} else {
|
||||||
phType = DEFAULT;
|
phType = DEFAULT;
|
||||||
@@ -81,54 +63,11 @@ public enum PhType {
|
|||||||
|
|
||||||
public static PhType getType(String type) {
|
public static PhType getType(String type) {
|
||||||
if (type == null) return DEFAULT;
|
if (type == null) return DEFAULT;
|
||||||
PhType phType;
|
try {
|
||||||
if (type.equalsIgnoreCase(UNSIGNED_INT.type)) {
|
return PhType.valueOf(type.toUpperCase());
|
||||||
phType = UNSIGNED_INT;
|
} catch (Exception e) {
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_LONG.type)) {
|
logger.error(e.getMessage(), e);
|
||||||
phType = UNSIGNED_LONG;
|
return DEFAULT;
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_TINYINT.type)) {
|
|
||||||
phType = UNSIGNED_TINYINT;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_SMALLINT.type)) {
|
|
||||||
phType = UNSIGNED_SMALLINT;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_FLOAT.type)) {
|
|
||||||
phType = UNSIGNED_FLOAT;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_DOUBLE.type)) {
|
|
||||||
phType = UNSIGNED_DOUBLE;
|
|
||||||
} else if (type.equalsIgnoreCase(INTEGER.type)) {
|
|
||||||
phType = INTEGER;
|
|
||||||
} else if (type.equalsIgnoreCase(BIGINT.type)) {
|
|
||||||
phType = BIGINT;
|
|
||||||
} else if (type.equalsIgnoreCase(TINYINT.type)) {
|
|
||||||
phType = TINYINT;
|
|
||||||
} else if (type.equalsIgnoreCase(SMALLINT.type)) {
|
|
||||||
phType = SMALLINT;
|
|
||||||
} else if (type.equalsIgnoreCase(FLOAT.type)) {
|
|
||||||
phType = FLOAT;
|
|
||||||
} else if (type.equalsIgnoreCase(DOUBLE.type)) {
|
|
||||||
phType = DOUBLE;
|
|
||||||
} else if (type.equalsIgnoreCase(BOOLEAN.type)) {
|
|
||||||
phType = BOOLEAN;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_TIME.type)) {
|
|
||||||
phType = UNSIGNED_TIME;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_DATE.type)) {
|
|
||||||
phType = UNSIGNED_DATE;
|
|
||||||
} else if (type.equalsIgnoreCase(UNSIGNED_TIMESTAMP.type)) {
|
|
||||||
phType = UNSIGNED_TIMESTAMP;
|
|
||||||
} else if (type.equalsIgnoreCase(TIME.type)) {
|
|
||||||
phType = TIME;
|
|
||||||
} else if (type.equalsIgnoreCase(DATE.type)) {
|
|
||||||
phType = DATE;
|
|
||||||
} else if (type.equalsIgnoreCase(TIMESTAMP.type)) {
|
|
||||||
phType = TIMESTAMP;
|
|
||||||
} else if (type.equalsIgnoreCase(VARCHAR.type)) {
|
|
||||||
phType = VARCHAR;
|
|
||||||
} else if (type.equalsIgnoreCase(VARBINARY.type)) {
|
|
||||||
phType = VARBINARY;
|
|
||||||
} else if (type.equalsIgnoreCase(DECIMAL.type)) {
|
|
||||||
phType = DECIMAL;
|
|
||||||
} else {
|
|
||||||
phType = DEFAULT;
|
|
||||||
}
|
}
|
||||||
return phType;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package com.alibaba.otter.canal.client.adapter.hbase.support;
|
package com.alibaba.otter.canal.client.adapter.hbase.support;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
@@ -11,50 +14,20 @@ import java.util.Date;
|
|||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
*/
|
*/
|
||||||
public enum Type {
|
public enum Type {
|
||||||
DEFAULT("STRING"), STRING("STRING"), INTEGER("INTEGER"), LONG("LONG"), SHORT("SHORT"), BOOLEAN("BOOLEAN"),
|
DEFAULT, STRING, INTEGER, LONG, SHORT, BOOLEAN, FLOAT, DOUBLE, BIGDECIMAL, DATE, BYTE, BYTES;
|
||||||
FLOAT("FLOAT"), DOUBLE("DOUBLE"), BIGDECIMAL("BIGDECIMAL"), DATE("DATE"), BYTE("BYTE"), BYTES("BYTES");
|
|
||||||
|
|
||||||
private String type;
|
private static Logger logger = LoggerFactory.getLogger(Type.class);
|
||||||
|
|
||||||
Type(String type){
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Type getType(String type) {
|
public static Type getType(String type) {
|
||||||
if (type == null) {
|
if (type == null) {
|
||||||
return DEFAULT;
|
return DEFAULT;
|
||||||
}
|
}
|
||||||
Type res;
|
try {
|
||||||
if (type.equalsIgnoreCase("STRING")) {
|
return Type.valueOf(type);
|
||||||
res = STRING;
|
} catch (Exception e) {
|
||||||
} else if (type.equalsIgnoreCase("INTEGER")) {
|
logger.error(e.getMessage(), e);
|
||||||
res = INTEGER;
|
return DEFAULT;
|
||||||
} else if (type.equalsIgnoreCase("LONG")) {
|
|
||||||
res = LONG;
|
|
||||||
} else if (type.equalsIgnoreCase("SHORT")) {
|
|
||||||
res = SHORT;
|
|
||||||
} else if (type.equalsIgnoreCase("BOOLEAN")) {
|
|
||||||
res = BOOLEAN;
|
|
||||||
} else if (type.equalsIgnoreCase("FLOAT")) {
|
|
||||||
res = FLOAT;
|
|
||||||
} else if (type.equalsIgnoreCase("DOUBLE")) {
|
|
||||||
res = DOUBLE;
|
|
||||||
} else if (type.equalsIgnoreCase("BIGDECIMAL")) {
|
|
||||||
res = BIGDECIMAL;
|
|
||||||
} else if (type.equalsIgnoreCase("DATE")) {
|
|
||||||
res = DATE;
|
|
||||||
} else if (type.equalsIgnoreCase("BYTE")) {
|
|
||||||
res = BYTE;
|
|
||||||
} else if (type.equalsIgnoreCase("BYTES")) {
|
|
||||||
res = BYTES;
|
|
||||||
} else {
|
|
||||||
res = DEFAULT;
|
|
||||||
}
|
}
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Type getType(Class<?> javaType) {
|
public static Type getType(Class<?> javaType) {
|
||||||
@@ -62,29 +35,29 @@ public enum Type {
|
|||||||
return DEFAULT;
|
return DEFAULT;
|
||||||
}
|
}
|
||||||
Type type;
|
Type type;
|
||||||
if (Integer.class.isAssignableFrom(javaType) || int.class.isAssignableFrom(javaType)) {
|
if (Integer.class == javaType || int.class == javaType) {
|
||||||
type = INTEGER;
|
type = INTEGER;
|
||||||
} else if (Long.class.isAssignableFrom(javaType) || long.class.isAssignableFrom(javaType)) {
|
} else if (Long.class == javaType || long.class == javaType) {
|
||||||
type = LONG;
|
type = LONG;
|
||||||
} else if (Byte.class.isAssignableFrom(javaType) || byte.class.isAssignableFrom(javaType)) {
|
} else if (Byte.class == javaType || byte.class == javaType) {
|
||||||
type = BYTE;
|
type = BYTE;
|
||||||
} else if (Short.class.isAssignableFrom(javaType) || short.class.isAssignableFrom(javaType)) {
|
} else if (Short.class == javaType || short.class == javaType) {
|
||||||
type = SHORT;
|
type = SHORT;
|
||||||
} else if (Float.class.isAssignableFrom(javaType) || float.class.isAssignableFrom(javaType)) {
|
} else if (Float.class == javaType || float.class == javaType) {
|
||||||
type = FLOAT;
|
type = FLOAT;
|
||||||
} else if (Double.class.isAssignableFrom(javaType) || double.class.isAssignableFrom(javaType)) {
|
} else if (Double.class == javaType || double.class == javaType) {
|
||||||
type = DOUBLE;
|
type = DOUBLE;
|
||||||
} else if (Boolean.class.isAssignableFrom(javaType) || boolean.class.isAssignableFrom(javaType)) {
|
} else if (Boolean.class == javaType || boolean.class == javaType) {
|
||||||
type = BOOLEAN;
|
type = BOOLEAN;
|
||||||
} else if (Date.class.isAssignableFrom(javaType)) {
|
} else if (Date.class == javaType) {
|
||||||
type = DATE;
|
type = DATE;
|
||||||
} else if (byte[].class.isAssignableFrom(javaType)) {
|
} else if (byte[].class == javaType) {
|
||||||
type = BYTES;
|
type = BYTES;
|
||||||
} else if (String.class.isAssignableFrom(javaType)) {
|
} else if (String.class == javaType) {
|
||||||
type = STRING;
|
type = STRING;
|
||||||
} else if (BigDecimal.class.isAssignableFrom(javaType)) {
|
} else if (BigDecimal.class == javaType) {
|
||||||
type = BIGDECIMAL;
|
type = BIGDECIMAL;
|
||||||
} else if (BigInteger.class.isAssignableFrom(javaType)) {
|
} else if (BigInteger.class == javaType) {
|
||||||
type = LONG;
|
type = LONG;
|
||||||
} else {
|
} else {
|
||||||
type = DEFAULT;
|
type = DEFAULT;
|
||||||
|
|||||||
@@ -21,29 +21,30 @@ public class TypeUtil {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
byte[] bytes;
|
byte[] bytes;
|
||||||
if (obj instanceof String) {
|
Class<?> clazz = obj.getClass();
|
||||||
|
if (clazz == String.class) {
|
||||||
bytes = Bytes.toBytes((String) obj);
|
bytes = Bytes.toBytes((String) obj);
|
||||||
} else if (obj instanceof Integer) {
|
} else if (clazz == Integer.class || clazz == int.class) {
|
||||||
bytes = Bytes.toBytes((Integer) obj);
|
bytes = Bytes.toBytes((Integer) obj);
|
||||||
} else if (obj instanceof Long) {
|
} else if (clazz == Long.class || clazz == long.class) {
|
||||||
bytes = Bytes.toBytes((Long) obj);
|
bytes = Bytes.toBytes((Long) obj);
|
||||||
} else if (obj instanceof Short) {
|
} else if (clazz == Short.class || clazz == short.class) {
|
||||||
bytes = Bytes.toBytes((Short) obj);
|
bytes = Bytes.toBytes((Short) obj);
|
||||||
} else if (obj instanceof Boolean) {
|
} else if (clazz == Boolean.class || clazz == boolean.class) {
|
||||||
bytes = Bytes.toBytes((Boolean) obj);
|
bytes = Bytes.toBytes((Boolean) obj);
|
||||||
} else if (obj instanceof Float) {
|
} else if (clazz == Float.class || clazz == float.class) {
|
||||||
bytes = Bytes.toBytes((Float) obj);
|
bytes = Bytes.toBytes((Float) obj);
|
||||||
} else if (obj instanceof Double) {
|
} else if (clazz == Double.class || clazz == double.class) {
|
||||||
bytes = Bytes.toBytes((Double) obj);
|
bytes = Bytes.toBytes((Double) obj);
|
||||||
} else if (obj instanceof BigDecimal) {
|
} else if (clazz == Byte.class || clazz == byte.class) {
|
||||||
bytes = Bytes.toBytes((BigDecimal) obj);
|
|
||||||
} else if (obj instanceof BigInteger) {
|
|
||||||
bytes = Bytes.toBytes(((BigInteger) obj).longValue());
|
|
||||||
} else if (obj instanceof Date) {
|
|
||||||
bytes = Bytes.toBytes(((Date) obj).getTime());
|
|
||||||
} else if (obj instanceof Byte) {
|
|
||||||
bytes = new byte[] { (byte) obj };
|
bytes = new byte[] { (byte) obj };
|
||||||
} else if (obj instanceof byte[]) {
|
} else if (clazz == BigDecimal.class) {
|
||||||
|
bytes = Bytes.toBytes((BigDecimal) obj);
|
||||||
|
} else if (clazz == BigInteger.class) {
|
||||||
|
bytes = Bytes.toBytes(((BigInteger) obj).longValue());
|
||||||
|
} else if (clazz == Date.class) {
|
||||||
|
bytes = Bytes.toBytes(((Date) obj).getTime());
|
||||||
|
} else if (clazz == byte[].class) {
|
||||||
bytes = (byte[]) obj;
|
bytes = (byte[]) obj;
|
||||||
} else {
|
} else {
|
||||||
// 其余类型统一转换为string
|
// 其余类型统一转换为string
|
||||||
@@ -98,38 +99,38 @@ public class TypeUtil {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
Object res;
|
Object res;
|
||||||
if (String.class.isAssignableFrom(clazz)) {
|
if (String.class == clazz) {
|
||||||
res = Bytes.toString(bytes);
|
res = Bytes.toString(bytes);
|
||||||
} else if (Integer.class.isAssignableFrom(clazz)) {
|
} else if (Integer.class == clazz || int.class == clazz) {
|
||||||
res = Bytes.toInt(bytes);
|
res = Bytes.toInt(bytes);
|
||||||
} else if (Long.class.isAssignableFrom(clazz)) {
|
} else if (Long.class == clazz || long.class == clazz) {
|
||||||
res = Bytes.toLong(bytes);
|
res = Bytes.toLong(bytes);
|
||||||
} else if (Short.class.isAssignableFrom(clazz)) {
|
} else if (Short.class == clazz || short.class == clazz) {
|
||||||
res = Bytes.toShort(bytes);
|
res = Bytes.toShort(bytes);
|
||||||
} else if (Boolean.class.isAssignableFrom(clazz)) {
|
} else if (Boolean.class == clazz || boolean.class == clazz) {
|
||||||
res = Bytes.toBoolean(bytes);
|
res = Bytes.toBoolean(bytes);
|
||||||
} else if (Float.class.isAssignableFrom(clazz)) {
|
} else if (Float.class == clazz || float.class == clazz) {
|
||||||
res = Bytes.toFloat(bytes);
|
res = Bytes.toFloat(bytes);
|
||||||
} else if (Double.class.isAssignableFrom(clazz)) {
|
} else if (Double.class == clazz || double.class == clazz) {
|
||||||
res = Bytes.toDouble(bytes);
|
res = Bytes.toDouble(bytes);
|
||||||
} else if (BigDecimal.class.isAssignableFrom(clazz)) {
|
} else if (Byte.class == clazz || byte.class == clazz) {
|
||||||
|
res = bytes[0];
|
||||||
|
} else if (BigDecimal.class == clazz) {
|
||||||
res = Bytes.toBigDecimal(bytes);
|
res = Bytes.toBigDecimal(bytes);
|
||||||
} else if (BigInteger.class.isAssignableFrom(clazz)) {
|
} else if (BigInteger.class == clazz) {
|
||||||
res = Bytes.toLong(bytes);
|
res = Bytes.toLong(bytes);
|
||||||
} else if (java.sql.Date.class.isAssignableFrom(clazz)) {
|
} else if (java.sql.Date.class == clazz) {
|
||||||
long ts = Bytes.toLong(bytes);
|
long ts = Bytes.toLong(bytes);
|
||||||
res = new java.sql.Date(ts);
|
res = new java.sql.Date(ts);
|
||||||
} else if (Time.class.isAssignableFrom(clazz)) {
|
} else if (Time.class == clazz) {
|
||||||
long ts = Bytes.toLong(bytes);
|
long ts = Bytes.toLong(bytes);
|
||||||
res = new Time(ts);
|
res = new Time(ts);
|
||||||
} else if (Timestamp.class.isAssignableFrom(clazz)) {
|
} else if (Timestamp.class == clazz) {
|
||||||
long ts = Bytes.toLong(bytes);
|
long ts = Bytes.toLong(bytes);
|
||||||
res = new Timestamp(ts);
|
res = new Timestamp(ts);
|
||||||
} else if (Date.class.isAssignableFrom(clazz)) {
|
} else if (Date.class == clazz) {
|
||||||
long ts = Bytes.toLong(bytes);
|
long ts = Bytes.toLong(bytes);
|
||||||
res = new Date(ts);
|
res = new Date(ts);
|
||||||
} else if (Byte.class.isAssignableFrom(clazz)) {
|
|
||||||
res = bytes[0];
|
|
||||||
} else {
|
} else {
|
||||||
throw new IllegalArgumentException("mismatch class type");
|
throw new IllegalArgumentException("mismatch class type");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user