String.equals() с несколькими условиями (и одним действием над результатом)
Возможно ли сделать что-то подобное в Java для Android (это псевдокод)
IF (some_string.equals("john" OR "mary" OR "peter" OR "etc."){ THEN do something}
?
На данный момент это делается с помощью нескольких String.equals() условий, среди которых есть || одно.
String.equals()
||
Переведено автоматически
Ответ 1
Возможности:
Использование String.equals():
if (some_string.equals("john") || some_string.equals("mary") || some_string.equals("peter")){}
Используйте регулярное выражение:
if (some_string.matches("john|mary|peter")){}
Сохраняйте список строк, с которыми нужно сопоставить, в коллекции и выполняйте поиск в коллекции:
Set<String> names = new HashSet<String>();names.add("john");names.add("mary");names.add("peter");if (names.contains(some_string)){}
Ответ 2
if (Arrays.asList("John", "Mary", "Peter").contains(name)) {}
Ответ 3
Сохраните допустимые значения в a HashSet и проверьте, существует ли ваша строка, используя метод contains:
HashSet
Set<String> accept = new HashSet<String>(Arrays.asList(new String[] {"john", "mary", "peter"}));if (accept.contains(some_string)) { //...}
Ответ 4
Ваша текущая реализация верна. Предложенное невозможно, но псевдокод был бы реализован с помощью нескольких equal() вызовов и ||.
equal()