Обновление: Мой плохой. Я неверно истолковал это как поиск без учета регистра.
Чувствительно к регистру легко. Java пока не поддерживает String
s в switch
операторах. Самое простое решение:
if (string1.equals(string2)) {
...
} else if (string1.equals(string3)) {
...
}
Или как цикл:
String[] matches = new String[] {
"abcd",
"efgh",
"ijkl"
};
for (String match : matches) {
if (matches.equals(string)) {
...
}
}
Конечно, это линейно (O (n)) и не масштабируется, но просто и достаточно для простейших случаев. Лучшее решение - использовать поиск на основе хеша:
Set<String> matches = new HashSet<String>();
matches.add("abcd");
matches.add("efgh");
matches.add("ijkl");
if (matches.contains(string1)) {
...
}
Это почти линейный (O (1)) поиск, который будет масштабироваться намного лучше при большом количестве String
с.