Як перетворити об'єкт String
в об'єкт Boolean
?
Спробуйте (в залежності від того, який тип результату ви хочете отримати):
Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");
Перевага:
Boolean.TRUE
або Boolean.FALSE
.Офіційна документація знаходиться в Javadoc.
ОНОВЛЕНО:
Автобокс також може бути використаний, але він має вартість виконання.
Я пропоную використовувати його тільки тоді, коли вам доведеться накладати гіпс, а не тоді, коли гіпсу можна уникнути.
Потрібно бути обережним при використанні методів Boolean.valueOf(string) або Boolean.parseBoolean(string). Це пов'язано з тим, що методи завжди будуть повертати false, якщо рядок String не рівний "true" (регістр ігнорується).
Наприклад:
Boolean.valueOf("YES") -> false
Через таку поведінку я б рекомендував додати якийсь механізм, який би гарантував, що рядок, який має бути перетворений у булевий, відповідає визначеному формату.
Наприклад:
if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
Boolean.valueOf(string)
// do something
} else {
// throw some exception
}
Boolean b = Boolean.valueOf(string);
Значення b
є істинним, якщо рядок не є нулем і дорівнює true
(ігноруючи регістр).