Есть много вариантов использования, предлагающих, почему вы должны пойти на ||
, а не |
.В некоторых случаях приходится использовать оператор |
для проверки всех условий.
Например, если вы хотите проверить проверку формы и хотите показать пользователю всенедопустимые поля с текстами ошибок, а не просто первое недопустимое поле. Оператор
||
будет
if(checkIfEmpty(nameField) || checkIfEmpty(phoneField) || checkIfEmpty(emailField)) {
// invalid form with one or more empty fields
}
private boolean checkIfEmpty(Widget field) {
if(field.isEmpty()) {
field.setErrorMessage("Should not be empty!");
return true;
}
return false;
}
То же самое с фрагментом выше, если пользователь отправляет форму с ALLпустые поля, ТОЛЬКО nameField
будет отображаться с сообщением об ошибке.Но, если вы измените его на
if(checkIfEmpty(nameField) | checkIfEmpty(phoneField) | checkIfEmpty(emailField)) {
// invalid form with one or more empty fields
}
, оно будет отображать правильное сообщение об ошибке в каждом поле независимо от условий true
.