Вам нужно будет сделать if else
операторы, если вы хотите быть абсолютно уверенными, что ввод является либо «истинным» / «ИСТИННЫМ», либо «ложным» / «ЛОЖНЫМ»:
if ("true".equalsIgnoreCase(input) {
return true;
} else if ("false".equalsIgnoreCase(input)) {
return false;
} else {
throw new InvalidInputException("true or false is allowed")
}
Если вы хотите буквально только регистрозависимое значение «true» или «false», измените .equalsIgnoreCase()
на .equals()
В качестве альтернативы вы можете использовать BooleanUtils
в Apache Commons Lang https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/BooleanUtils.html
Boolean bool = BooleanUtils.toBooleanObject(input)
Если это не «истина» или «ложь» (среди прочего, например, «t», «y», «да» и др. 1019 * - см. JavaDo c), тогда null
возвращается