Java升级后SpEL表达式中断-有替代方法吗?

时间:2019-05-23 06:28:18

标签: spring java-8 spring-el

我正在尝试基于逗号分隔的定界符来拆分字符串。 然后检查拆分后的字符串列表是否包含我要查找的字符串,即“ ABCD” 例如:getValueFromVendorFile()返回“ EFGH,ABCD,GHJK”

下面的SpEL表达式在Java 6和Spring框架3.1.1.RELEASE中评估为true

T(java.util.Arrays).asList(getValueFromVendorFile().split(',')).contains('ABCD')

升级到Java 8和Spring框架4.3.7.RELEASE时,其评估结果为false

这是由于返回的结果现在已更改为ArrayList的对象数组。以前只返回一个ArrayList。

尝试了以下修复方法,但性能受到打击!

T(org.springframework.util.CollectionUtils).arrayToList(getValueFromVendorFile().split(',')).contains('ABCD')

我期望一个String类型的ArrayList,但实际输出是一个String类型的ArrayList的数组,因此表达式会失败。

0 个答案:

没有答案