Почему parseBoolean не выдает исключение? - PullRequest
0 голосов
/ 24 апреля 2020

Учитывая

boolean b = Boolean.parseBoolean("100");

Я думал, что это вызовет исключение, потому что "100" не является ни "true", ни "false". Но прошло, без исключений.

Почему метод не выбрасывает?

1 Ответ

4 голосов
/ 24 апреля 2020

Чтение JavaDo c метода:

Разбирает строковый аргумент как логическое значение. Возвращаемое логическое значение представляет значение true, если строковый аргумент не null и равен (без учета регистра) строке "true". В противном случае возвращается ложное значение, в том числе для нулевого аргумента.

Просмотр реализации :

    public static boolean parseBoolean(String s) {
        return "true".equalsIgnoreCase(s);
    }

Так что все, что не равно String "true" - случай игнорирования - считается false

...