Есть ли способ сравнить список массивов, используя содержит несколько условий, код выглядит так - PullRequest
0 голосов
/ 16 апреля 2019
ense.findAll { obj ->
    obj.otherDetails.findAll { od ->
        od.activityType.name.contains('Exporter') && od.activityType.name.contains('Distribution')
    }
}

Ожидаемый вывод этого кода должен извлекать все ense с типами действий Exporter && Distribution

Например

ense 1 has [Exporter, Distribution]
ense 2 has [Hauler]
ense 3 has [Distribution, Exporter]
ense 4 has [Exporter, Refiller]

Тогда приведенный выше код должен получить только анс 1 и 3 3

1 Ответ

1 голос
/ 16 апреля 2019

Просто используйте регулярное выражение, если вы хотите иметь только одно предложение.В groovy вы можете проверять регулярные выражения следующим образом:

def list = ['a','b','c','d']

list.each{
    println it ==~ /a|b/ 
}

so == ~ проверит регулярное выражение и вернет логическое значение, вывод будет:

true
true
false
false

иливнутри регулярного выражения как | вы можете просто заменить регулярное выражение на логику, которую вы хотите (что действительно непонятно в этом вопросе).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...