Выражение SpEL разрывается после обновления Java - есть ли альтернатива? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь разделить строку на основе разделителя запятой. Затем проверьте, содержит ли список строк после разбиения искомую строку, т. Е. "ABCD" Пример: getValueFromVendorFile () возвращает «EFGH, ABCD, GHJK»

Приведенное ниже выражение SpEL оценивается как истинное с Java 6 и средой Spring 3.1.1.RELEASE

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

При обновлении до Java 8 и Spring Framework 4.3.7.RELEASE оценивается как false

Это связано с тем, что возвращаемый результат теперь изменился на массив объектов ArrayList. Ранее возвращал только ArrayList.

Попробовал приведенное ниже исправление, но производительность взяла удар!

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

Я ожидаю ArrayList типа String, но фактическим выводом является массив ArrayList типа String, из-за которого выражение не выполняется.

...