-1

レポートで null 値をチェックする条件を使用しているときに問題が発生しました。私の状態は

$F{BILANGAN4}==0 ? "-" : ""

フィールドの値は表示されず、「-」のみ表示されます。

これについて知っている人はいますか?

4

1 に答える 1

0

$F{BILANGAN4}==0 ? "-" : ""何がコンパイルダウンされるのかわかりません。レポート用に生成された .java コードを確認しましたか? java.lang.Long null になる可能性があるため、次のように確認します。

( ( null == $F{BILANGAN4} || $F{BILANGAN4} == 0 ) ? "-" : "" )

私は通常、明示的にそのような呼び出しに明示的に追加.longValue()します。型が正しくない場合、コンパイラ エラーが発生し、何かを調整してコードを再検討する必要があることがわかっています。

上記のコード (たとえば、テキスト フィールドの値として) は、"-" のみを表示するか、何も表示しないことに注意してください。の値$Fを実際に表示したい場合は、そこに入れる必要があります。これが実際にあなたが望むものであると確信しています:

( ( null == $F{BILANGAN4} || $F{BILANGAN4} == 0 ) ? "-" : $F{BILANGAN4} )
于 2012-11-30T17:13:19.793 に答える