Использование троичного оператора - это самый простой, самый эффективный и самый читаемый способ сделать то, что вы хотите.Я призываю вас использовать это решение.
Однако я не могу удержаться, чтобы предложить альтернативное, надуманное, неэффективное, нечитаемое решение.
int boolToInt(Boolean b) {
return b.compareTo(false);
}
Эй, людям нравится голосовать за такиеклассные ответы!
Редактировать
Кстати, я часто видел преобразования из логического значения в int с единственной целью сделать сравнение двух значений (обычно, в реализациях метода compareTo
).Boolean#compareTo
- это путь в этих конкретных случаях.
Edit 2
Java 7 представила новую служебную функцию, которая работает непосредственно с примитивными типами, Boolean#compare
(Спасибо шмосел )
int boolToInt(boolean b) {
return Boolean.compare(b, false);
}