
# 在Java中，读取character类型的表字段时返回类型为什么是byte？
#### 问题现象
数据库中新建一张表，某个表字段使用character类型，在Java中读取character类型的字段时返回类型是byte。
例如，创建示例表table01：
```
CREATE TABLE IF NOT EXISTS table01(
   msg_id character(36),
   msg character varying(50)
);
```
在Java中，读取character类型的字段代码如下：
```
ColumnMetaInfo(msg_id,1,Byte,true,false,1,true);
```
#### 原因分析
- CHARACTER(n)是定长字符串类型，当实际字符串长度不够时数据库会用空格补全，Java用byte类型接收。
- CHARACTER VARYING(n)是变长字符串类型，Java使用String类型接收。
 
