我拥有的是String [125, 154, 749, 215, 785, 1556, 3214, 7985]
(字符串中可以包含1到15个ID的内容,以及它是字符串而不是List的原因,它是通过URL发送的)
我需要用它填充名为campusAndFaculty
的List
我使用的是iReport 5.0.0
我已尝试在campusAndFaculty
默认值表达式字段
Array.asList(($P{campusAndFacultyString}.substring( 1, ($P{campusAndFacultyString}.length() -2 ))).split("\\s*,\\s*"))
但它没有填充campusAndFaculty
列表
知道如何使用List campusAndFaculty
填充String ("campusAndFacultyString")
吗?
====================== 更新
我在iReport(5.0.0)中有这些变量
String campusAndFacultyFromBack = "[111, 125, 126, 4587, 1235, 1259]"
String noBrackets = $P{campusAndFacultyFromBack}.substring(1 ($P{campusAndFacultyFromBack}.length() -1 ))
List campusAndFacultyVar = java.util.Arrays.asList(($V{noBrackets}).split("\\s*,\\s*"))
当我打印campusAndFacultyVar时它返回“[111,125,126,4587,1235,1259]”
但是当我在Filter中使用它时,我得到“无法评估以下表达式:org_organisation.org_be_id in null”
答案 0 :(得分:0)
这对我有用:
String something = "[125, 154, 749, 215, 785, 1556, 3214, 7985]";
Arrays.asList((something.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));
这意味着您可以在 iReport :
中执行此操作java.util.Arrays.asList(($P{campusAndFacultyString}.substring(1, (something.length() -1 ))).split("\\s*,\\s*"));
与您的代码段的区别: