java中 Boolean对象_为什么Java后端用Boolean属性筛选不出对象,但改成String类型就可以了?...

public JSONArray getTreeNodes(String departmentSn) {

Department department = new Department();

JSONArray jsonArray = new JSONArray();

if (!departmentSn.equals("-1")) {

department.setParentDepartmentSn(departmentSn);

} else {

//这里将department的一个布尔属性设置为true

department.setHasActivated(true);

}

//在这里进行筛选

List departments = departmentMapper.select(department);

System.out.print(departments);

for (Department DEP : departments) {

Department d = new Department();

Department sonDepartment = departmentMapper.selectByPrimaryKey(DEP.getDepartmentSn());

JSONObject jsonObject = new JSONObject();

jsonObject.put("label", sonDepartment.getDepartmentName());

jsonObject.put("data", sonDepartment.getDepartmentSn());

d.setParentDepartmentSn(DEP.getDepartmentSn());

if (departmentMapper.selectCount(department) == 0) {

jsonObject.put("leaf", true);

} else {

jsonObject.put("leaf", false);

}

jsonArray.add(jsonObject);

}

return jsonArray;

}

}

在上面的代码中,当我传入一个不为-1的departmentSn进来时,它并没有进入else分支,然而经过下面的筛选后结果集为空,如下图

f3fcc6913aaa66d34f81628245b03d5e.png

此处size为0.

而当我将实体类中的boolean属性改为string属性后(如图)

c5df12e735af44b6e46ddff344ec34fe.png修改前

31d3d23967e2ce1430d4aa687aab9305.png修改后

筛选结果就正常了.

c3833a2c019445d34a66eb17eef95ad3.png

此处size为8.

这是为什么呢?

另外,我还尝试了手动将boolean属性赋为false,结果同样为空.如下图.

94b20db58fc89aacd7e50d5cecda503c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值