Используя приведенный ниже код, я могу проверить, содержит ли List
объектов значение, соответствующее значению поля c.
public boolean containsName(final List<MyObject> list, final String name){
return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent();
}
Однако это работает только тогда, когда o.getName()
возвращает String
. Я пытаюсь изменить код, чтобы он работал, когда MyObject
содержит ArrayList<String>
и имя может соответствовать любому элементу в списке. Примерно так:
public boolean containsKeyword(final List<KeywordPOJO> list, final String keyword){
return list.stream().filter(o -> o.getKeywordList().equals(keyword)).findFirst().isPresent();
}
Где KeywordPOJO
возвращает список ключевых слов вместо одного String
. Если keyword
соответствует ЛЮБОМУ из этих ключевых слов, метод должен вернуть true.
В настоящий момент Eclipse выдает предупреждения: Unlikely argument type for equals(): String seems to be unrelated to ArrayList<String>
(поскольку ключевое слово является строкой, а getKeywordList()
возвращает ArrayList<String>
)
Спасибо!