Страницы

Поиск по вопросам

суббота, 15 февраля 2020 г.

Java типы, допускающие NULL значения

#java #c_sharp #null


Существуют ли в Java что-то вроде типов, допускающих NULL значения? То есть с сервера
приходит, на пример, int, но вместо него может прийти NULL В C#можно это обработать,
используя типы, допускающие, NULL значения. 

int? a = NULL;


Как это следует обрабатывать в Java?
    


Ответы

Ответ 1



В Java ссылка любого класса может принимать значение null. Примитивы же... Целые числа - byte, short, char, int, long Числа с плавающей точкой (иначе дробные) - float, double Логический - boolean ...лишены такой возможности. Если требуется создать ссылку на один из примитивных типов данных, необходимо использовать соответствующий класс-обертку. Также в таких классах есть некоторые полезные методы и константы, например минимальное значение типа int можно узнать использовав константу Integer.MIN_VALUE. Оборачивание примитива в объект называется упаковкой (boxing), а обратный процесс распаковкой (unboxing). (источник) Соответственно для решения вашей задачи необходимо использовать классы-обёртки примитивов: int -> Integer, short -> Short и т.п.

Ответ 2



В java для этого используются классы обертки: wrapper for int: Integer wrapper for double: Double Но будьте внимательно, типы вроде Integer передаются по ссылке, а не по значению.

Комментариев нет:

Отправить комментарий