【问题标题】:How to use ternary operator in String concatenation, to check length of String如何在字符串连接中使用三元运算符来检查字符串的长度
【发布时间】:2016-02-03 19:37:56
【问题描述】:

代码:

"No. Siri Pendaftaran : " + ($F{ref_no}.length() > 10) ? $F{ref_no} : $F{ref_no}.substring(0,20)+ "..."

错误:

类型不匹配:无法从字符串转换为布尔值

编译报表表达式类文件时遇到错误:

【问题讨论】:

  • 代码不应以图片形式发布,而应以文本形式发布并放入代码标签中。
  • 好的,@Jure 再次检查。我更新了
  • 不同之处可能是这是字符串连接,有问题的用户已包含重复代码作为答案

标签: jasper-reports


【解决方案1】:

在字符串连接中使用三元运算符时,您需要在表达式周围包含(),以便正确计算它

这会起作用

"No. Siri Pendaftaran : " + (($F{ref_no}.length() > 10) ? $F{ref_no} : $F{ref_no}.substring(0,20))+ "..."

说这个我想你在找这个表达

"No. Siri Pendaftaran : " + (($F{ref_no}.length() <= 10) ? $F{ref_no} : ($F{ref_no}.substring(0,10)+ "..."))

【讨论】:

  • @FaridBlaster,感谢接受我已经更新了我的答案,因为你的表达看起来很奇怪......(不仅解决了你的编译问题)
  • 顺便说一句,我更改了实际代码并解决了: (($F{ref_no}.size() > 40 ? $F{ref_no}.substring(0,40)+ "... " : $F{ref_no}))
猜你喜欢
  • 1970-01-01
  • 2010-11-21
  • 2015-06-09
  • 2019-01-09
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多