Вы можете использовать java.util.Collections
класс Android, чтобы помочь вам в этом. В частности, будет полезно использовать disjoint
:
Возвращает, нет ли общих коллекций указанных коллекций.
Вот пример кода, который должен вас начать.
В вашей деятельности или везде, где вы проверяете, чтобы увидеть, если ваши результаты содержат слово, которое вы ищете:
String[] results = {"dog", "cat"};
String[] wordsWeAreLookingFor = {"foo", "dog"};
boolean foundWordInResults = this.checkIfArrayContainsAnyStringsInAnotherArray(results, wordsWeAreLookingFor);
Log.d("MyActivity", "foundWordInResults:" + foundWordInResults);
Также в вашем же класса, или, возможно, утилита класса:
private boolean checkIfArrayContainsAnyStringsInAnotherArray(String[] results, String[] wordsWeAreLookingFor) {
List<String> resultsList = Arrays.asList(results);
List<String> wordsWeAreLookingForList = Arrays.asList(wordsWeAreLookingFor);
return !Collections.disjoint(resultsList, wordsWeAreLookingForList);
}
Обратите внимание, что этот конкретный пример кода будет содержать true в foundWordInResults
, так как «собака» находится в обоих results
и wordsWeAreLookingFor
.
Чтобы ответить на больший вопрос, не могли бы вы нам рассказать. Почему у вас есть список слов и почему вы хотите проверить 4-5 разных? – Blundell
Что вы подразумеваете под термином параметр? Например, вы бы искали целое предложение или что? – jpm
@jpom он означает 'if (Arrays.asList (results) .contains (" Word ") || Arrays.asList (results) .contains (" Word2 ") || Arrays.asList (results) .contains (" Word3 ")) ' – Blundell