Создание типов Nullables в java

Я пытаюсь создать объект nullalble в Java, но не знаю, как это сделать, в С# это будет сделано так

int? someTestInt;

Это позволяет мне проверять наличие null , хотя в некоторых случаях я могу использовать значение 0 , это не всегда возможно, поскольку определенные пути выполнения допускают значения 0


person RC1140    schedule 14.07.2009    source источник
comment
это дубликат этого вопроса stackoverflow.com/questions/985151   -  person hhafez    schedule 14.07.2009


Ответы (3)


Я не совсем уверен, что вы хотите, но если вы хотите иметь целочисленное значение, которое также может быть объявлено null, вы, вероятно, захотите использовать класс Integer:

Integer nullableInteger = 1;
nullableInteger = null;
System.out.println(nullableInteger); // "null"

Для каждого примитива существуют соответствующие классы: Character, Long, Double, Byte и т. д. Все числовые классы "стандартной библиотеки" расширяют Number.

Обратите внимание, что Java автоупаковывает эти объекты автоматически, начиная с JDK 1.5, поэтому вы можете использовать и объявляйте их точно так же, как примитивы (например, "new Integer(1)" не требуется). Таким образом, хотя технически они являются объектами (и, следовательно, расширяют класс Object, чего нет у примитивного типа int), с ними можно выполнять базовые арифметические действия. Они преобразуются в объектные операции во время компиляции.

person Henrik Paul    schedule 14.07.2009
comment
О, отлично... вы получите все заслуги, потому что решили выложиться на полную с образцом кода и всем остальным... ;) Я все равно дам вам +1. - person mkmurray; 14.07.2009
comment
На западе окупается быстрота с розыгрышем :) - person Henrik Paul; 14.07.2009
comment
Мне не нужно использовать тип nullable только для целых чисел, я буду использовать соответствующие классы вместо примитивов, спасибо за информацию - person RC1140; 14.07.2009

Java не поддерживает примитивы, допускающие значение NULL. Вы можете использовать тип Integer, если хотите хранить нули.

(Это дубликат этого сообщения: Как представить обнуляемый примитивный тип int в Java?)

person Peter Recore    schedule 14.07.2009

Возможно, попробуйте тип Integer в Java.

person mkmurray    schedule 14.07.2009