您的位置:首页 > 数据库 > MySQL

原来boolean不能初始化为空和对应于mysql数据库中类型与存取

2016-04-26 22:08 633 查看
最经在做一个项目用到了一个数据库建了个表里面有一个性别的属性用tinyint(1)对应与 java中的Boolean但是当我用反射来将result中的数据反射成对象并赋值的时候发现报IllegalArgumentException这个错误原来是我在数据库中没有为这个属性设置值他为空值,等取出时jdbc转化为false或true但是这个属性为空会报错我做了一个实验看:

public class Test {
private static boolean sex=(Boolean) null;
public static void main(String[] args) {
Person p = new Person();

p.setSex(sex);
System.out.println(p.isSex());
}
}

他就会报错就是这个原因不能这样如果未对boolean类型初始化java会初始化为false,所以我们在数据库中表示性别的时候最好用默认值而且不能为空1为真0位false

当从mysql数据库存取时这个属性会自动转化成对应的类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: