Como faço para procurar uma lista de strings dentro de outra cadeia?

Caleigh O'Brien:

Aqui está um código que funciona, mas parece deselegante. Qual é a melhor maneira de procurar qualquer ocorrência dessas cordas dentro de outra cadeia?

String AndyDaltonInjury = "broken right thumb";

if (AndyDaltonInjury.toLowerCase().contains("broken") &&
    (AndyDaltonInjury.toLowerCase().contains("knee") ||
    AndyDaltonInjury.toLowerCase().contains("leg")   ||
    AndyDaltonInjury.toLowerCase().contains("ankle") ||
    AndyDaltonInjury.toLowerCase().contains("thumb") ||
    AndyDaltonInjury.toLowerCase().contains("wrist"))) 
{
    System.out.println("Marvin sends in the backup quarterback.");  
}
Nikolas:

Utilizar a Setrecolha e o seu método Set::containsinsde fluindo a matriz dividida com o espaço ( " "delimitador):

Set<String> set = new HashSet<>(Arrays.asList("knee", "leg", "ankle", "thumb", "wrist"));

String lower = "broken right thumb".toLowerCase();
String split[] = lower.split(" ");
if (lower.contains("broken") && Arrays.stream(split).anyMatch(set::contains)) {
    System.out.println("Marvin sends in the backup quarterback.");
}

Além disso, eu recomendo que você use nomes de variáveis ​​inferior encaixotados.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=196991&siteId=1
Recomendado
Clasificación