Caleighオブライエン:
ここでは動作しますが、ルックスは無粋といういくつかのコードがあります。別の文字列内のこれらの文字列のいずれかの発生を検索するためのより良い方法は何ですか?
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.");
}
ニコラス:
使用Set
収集とその方法Set::contains
スペース(とのスプリット配列をストリーミングinsde " "
)区切り文字を:
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.");
}
また、私は非常に低いケース入りの変数名を使用することをお勧めいたします。