Строго говоря, это нормально. false
- это самоочевидное значение для boolean
с именем married
.
. Вы все равно не увидите этого много, потому что многие, многие случаи, которые вы можете наивно моделировать с логическим значением, на самом деле включает в себя гораздо больше, чем просто два состояния.
Например, что если вам нужно по-разному обращаться с неженатыми, разведенными и овдовевшими людьми? Внезапно простой boolean
не сможет точно представить данные вашего домена.
Если вы сомневаетесь, вы можете просто ввести enum
(скажем, MaritalStatus
), даже если он начинается только с два значения. Добавление дополнительных значений перечисления здесь проще, чем полное переключение с логического значения на другой тип.
Другая распространенная причина использования enum
заключается в том, что вы можете добавить явное значение UNKNOWN
, которое на удивление часто требуется ( и избегает грязного использования null
для обозначения «неизвестно»).