当我使用条件检查报告中的空值时,我遇到了问题。我的病情是
$F{BILANGAN4}==0 ? "-" : ""
字段的值不会出现,但只显示“ - ”。
有人知道吗?
答案 0 :(得分:0)
我不确定$F{BILANGAN4}==0 ? "-" : ""
将编译为什么。您是否查看过生成的.java代码以获取报告? java.lang.Long
可以为空,因此您需要像这样检查:
( ( null == $F{BILANGAN4} || $F{BILANGAN4} == 0 ) ? "-" : "" )
我通常明确地将.longValue()
添加到这样的调用只是为了明确:如果类型不正确我会得到编译器失败并且我知道我需要调整一些东西并且可能会重新考虑代码
请注意,上面的代码(例如,作为文本字段值)将仅显示“ - ”或什么都不显示。如果您希望实际显示$F
的值,则必须将其放在那里。我很确定这实际上是你想要的:
( ( null == $F{BILANGAN4} || $F{BILANGAN4} == 0 ) ? "-" : $F{BILANGAN4} )