Поскольку логические значения имеют два значения: true
или false
. Обратите внимание, что это не строки, а фактические логические литералы.
1 и 0 являются целыми числами, и нет смысла путать вещи, делая их «альтернативным истинным» и «альтернативным ложным» (или наоборот, для тех, которые используются в кодах выхода Unix?). При строгой типизации в Java всегда должно быть только два примитивных логических значения.
РЕДАКТИРОВАТЬ: обратите внимание, что вы можете легко написать функцию преобразования, если вы хотите:
public static boolean intToBool(int input)
{
if (input < 0 || input > 1)
{
throw new IllegalArgumentException("input must be 0 or 1");
}
// Note we designate 1 as true and 0 as false though some may disagree
return input == 1;
}
Хотя я бы не рекомендовал это. Обратите внимание, что вы не можете гарантировать, что переменная int
действительно равна 0 или 1; и нет 100% очевидной семантики того, что означает истина. С другой стороны, переменная boolean
равна , всегда , либо true
, либо false
, и очевидно, что из них имеет значение true. : -)
Таким образом, вместо функции преобразования, привыкните к использованию boolean
переменных для всего, что представляет собой концепцию истинного / ложного. Если вы должны использовать какую-то примитивную текстовую строку (например, для хранения в плоском файле), «истина» и «ложь» намного понятнее по смыслу и могут быть немедленно превращены в логическое значение с помощью библиотечного метода Логическое .valueOf .