На самом деле логический конструктор принимает значение null, возвращает FALSE и не генерирует NullPointerTantrum.
new Boolean(null);
<false>
Это имеет дополнительный бонус, заключающийся в том, что он также дает правдивый ответ на строку "true"
, что не относится к Boolean.TRUE.equals
, но мы более ограничены снова, имея только конструкторы для строк и логических значений.
Что-то, что вы можете преодолеть с помощью конкатенации строк, что также является нулевым доказательством.
new Boolean(""+null);
<false>
new Boolean(""+false);
<false>
new Boolean(""+new Object());
<false>
new Boolean(""+6);
<false>
new Boolean(""+new Integer(9));
<false>
Обеспечение того, что все опции TRUE, доступные в java, все еще остаются.