Puede utilizar java.util.Collections
clase de Android para ayudarle con esto. En particular, disjoint
será útil:
Devuelve si las colecciones especificadas no tienen elementos en común.
Aquí hay un ejemplo de código que debería comenzar.
En su actividad o donde sea que usted está mirando para ver si los resultados contienen una palabra que está buscando:
String[] results = {"dog", "cat"};
String[] wordsWeAreLookingFor = {"foo", "dog"};
boolean foundWordInResults = this.checkIfArrayContainsAnyStringsInAnotherArray(results, wordsWeAreLookingFor);
Log.d("MyActivity", "foundWordInResults:" + foundWordInResults);
también en su misma clase, o tal vez una clase de utilidad:
private boolean checkIfArrayContainsAnyStringsInAnotherArray(String[] results, String[] wordsWeAreLookingFor) {
List<String> resultsList = Arrays.asList(results);
List<String> wordsWeAreLookingForList = Arrays.asList(wordsWeAreLookingFor);
return !Collections.disjoint(resultsList, wordsWeAreLookingForList);
}
Tenga en cuenta que este ejemplo de código particular tendrá contener verdadero en foundWordInResults
ya que "perro" está en ambos results
y wordsWeAreLookingFor
.
Para responder a la pregunta más grande, ¿podría decirnos? ¿Por qué tiene una lista de palabras y por qué quiere verificar 4-5 diferentes? – Blundell
¿Qué quiere decir con más términos para el parámetro? Al igual, estarías buscando una oración completa o qué? – jpm
@jpom él quiere decir 'if (Arrays.asList (results) .contains (" Word ") || Arrays.asList (results) .contains (" Word2 ") || Arrays.asList (results) .contains (" Word3 ")) ' – Blundell