如何在textField中使用预定义方法之前测试空值

时间:2014-01-21 13:24:44

标签: java jasper-reports

我想在 textField 中连接不同的字符串。所以为了防止 NullPointerException ,我必须测试concatinate的字符串是否为空。

 $F{ADET2}.concat($F{ADET4}).concat($F{ADET5}).concat($F{ADET6}).concat($F{ADET7}).concat($F{ADET8})

那么如何在textField值中写这个:

  if ($F{ADET2}! = null )

   if ($F{ADET4}! = null )
      $F{ADET2}.concat($F{ADET4})
   if ($F{ADET5}! = null )
      $F{ADET2}.concat($F{ADET4}).concat($F{ADET4})
     ....

1 个答案:

答案 0 :(得分:1)

您可以使用Joiner中的Google Guava library课程。

在您的情况下,表达式为:

<textFieldExpression><![CDATA[Joiner.on("").skipNulls().join(Arrays.asList($F{ADET2}, $F{ADET4}, $F{ADET5}, $F{ADET6}, $F{ADET7}, $F{ADET8}))]]></textFieldExpression>

备注

  • 不要忘记添加导入并将 guava 添加到classpath:
<import value="com.google.common.base.Joiner"/>
  • 我将报告的语言设置为 Java

  • 您也可以使用ternary operator来解决此任务。