You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vaadin Flow 24:数据库Integer值(0/1)转网格Yes/No列渲染问题

解决Vaadin Grid中Integer类型值转"Yes/No"显示的问题

报错原因很明确:你用了三元运算符,但SJRolesQA.getIsAncillary()返回的是Integer类型,而三元运算符的条件部分需要boolean值,Java无法自动把Integer转成boolean,所以报错。

给你几种可行的修改方案:

  • 直接判断值是否等于1(如果确定返回值不会为null):
Grid.Column<SJRolesQA> isAncillaryColumn = grid.addColumn(role -> role.getIsAncillary() == 1 ? "Yes" : "No");
  • 考虑null值的情况,避免空指针异常:
Grid.Column<SJRolesQA> isAncillaryColumn = grid.addColumn(role -> {
    Integer ancillaryValue = role.getIsAncillary();
    return ancillaryValue != null && ancillaryValue == 1 ? "Yes" : "No";
});
  • 用Objects.equals简化空值判断:
import java.util.Objects;

// ...

Grid.Column<SJRolesQA> isAncillaryColumn = grid.addColumn(role -> Objects.equals(role.getIsAncillary(), 1) ? "Yes" : "No");

内容的提问来源于stack exchange,提问作者clickguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 23:59:50