Значение null
Значение null в Java - это специальный литерал,
который означает отсутствие ссылки на объект. Если
переменная ссылочного типа содержит null, это
значит, что она не указывает ни на какой объект в памяти.
Значение null можно присвоить переменной любого
ссылочного типа: строке, массиву, объекту класса или
интерфейса. При этом примитивные типы, такие как
int, double или boolean, не могут
хранить null.
Если попытаться вызвать метод или обратиться к полю через
переменную, которая равна null, программа выбросит
исключение NullPointerException. Поэтому перед
использованием ссылочной переменной часто выполняют
проверку на null.
Синтаксис
null
Пример
Присвоим переменной строкового типа значение null
и выведем её на экран:
public class Main
{
public static void main(String[] args)
{
String str = null;
System.out.println(str);
}
}
Результат выполнения кода:
null
Пример
Проверим переменную на null с помощью оператора
сравнения:
public class Main
{
public static void main(String[] args)
{
String str = null;
if (str == null) {
System.out.println("str is null");
} else {
System.out.println("str is not null");
}
}
}
Результат выполнения кода:
"str is null"
Пример
Попробуем вызвать метод у переменной, которая равна
null, и получим исключение:
public class Main
{
public static void main(String[] args)
{
String str = null;
System.out.println(str.length());
}
}
Результат выполнения кода:
Exception in thread "main" java.lang.NullPointerException
Пример
Присвоим значение null элементу массива и выведем
массив на экран:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String[] arr = {"abcde", null, "12345"};
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[abcde, null, 12345]
Пример
Используем null как значение по умолчанию для
ссылочной переменной до её инициализации:
public class Main
{
static String res;
public static void main(String[] args)
{
System.out.println(res);
res = "abcde";
System.out.println(res);
}
}
Результат выполнения кода:
null
"abcde"
Смотрите также
-
оператор
instanceof,
который проверяет тип объекта -
оператор
ternary,
который возвращает одно из двух значений по условию -
ключевое слово
var,
которое выводит тип переменной автоматически -
ключевое слово
final,
которое запрещает изменение переменной