gpt4 book ai didi

java - Jasper 报告中的表达式值 : "Cannot cast from String to Boolean" error

转载 作者:搜寻专家 更新时间:2023-11-01 01:07:20 26 4
gpt4 key购买 nike

这是我的表达式代码:

($F{Personel_ODEME}.equals(Boolean.TRUE)) ? "PAID" : "NO PAID"

如果人员已付款,她/他的 Jasper 税务报告将显示为PAID,否则为NO PAID。在DB中,这个字段是Boolean类型,但是表达式返回的是String类型。所以我得到了一个 Cannot cast from String to Boolean 错误。

最佳答案

问题源于您的测试 $F{Personel_ODEME}.equals(Boolean.TRUE),Jasper 认为它是 StringBoolean比较,不喜欢。要解决这个问题,试试这个:

($F{Personel_ODEME}.equals(Boolean.TRUE.toString())) ? "PAID" : "NO PAID"

这将导致 StringString 比较。

值得注意的是,在 Java 中,"true".equals(Boolean.TRUE) 会导致 false。

编辑:

这似乎是一个 Jasper 'PrintWhen' 表达式,它允许您确定是否打印单元格的内容。它期望 Boolean.TRUEBoolean.FALSE 作为其返回值。当您返回“PAID”时,Jasper 会尝试将该 String 评估为 Boolean,但它无法做到这一点,因此它会抛出异常。

关于java - Jasper 报告中的表达式值 : "Cannot cast from String to Boolean" error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com