Почему значение по умолчанию для Java для Boolean установлено в true?
Почему private Boolean shouldDropTables;
присваивает true
по умолчанию переменную вместо NULL
, например, при записи private Integer anInteger;
?
Запрашивать, потому что я натолкнулся на какой-то код, где была оценка в shouldDropTables NULL
или не определена, следует ли выполнять метод.
Ответы
Ответ 1
Boolean (с верхним регистром "B" ) является логическим объектом, который, если не назначен значение, по умолчанию будет иметь значение null. boolean (с нижним регистром "b" ) является логическим примитивом, который, если не назначен значение, будет по умолчанию false.
Boolean objectBoolean;
boolean primitiveBoolean;
System.out.println(objectBoolean); // will print 'null'
System.out.println(primitiveBoolean); // will print 'false'
Удачи!
Ответ 2
Нет.
Его null
по умолчанию.
Ответ 3
Свойство NULL по умолчанию. Потому что это Boolean Object.
Object 'Boolean' = NULL value // by default,
Primitive type 'boolean' = false value //by default.
Ответ 4
Возможно, вы не видите инициализацию.
По умолчанию он имеет значение null. См. Этот пример:
$ cat B.java
class B {
private Boolean shouldDrop;
public static void main( String ... args ) {
System.out.println( new B().shouldDrop );
}
}
$ javac B.java
$ java B
null
Я надеюсь, что это поможет
Ответ 5
Просто хотел добавить одну точку (для новичков) относительно примитивного логического значения.
Как ответил @99tm, значение по умолчанию "false". Это верно для переменных экземпляра или класса.
Если у вас есть локальная переменная метода (то есть локальная для метода) как примитивная логическая, то значение по умолчанию отсутствует. вам необходимо инициализировать его перед его использованием, иначе это ошибка компиляции.
Ответ 6
JLS 9, 4.12.5. Начальные значения переменных
Boolean
является ссылочным типом, поэтому значением по умолчанию является null
.