Creating Nullables types in java

2019-02-21 09:36发布

问题:

I am trying to create a nullalble object in Java but no idea how to do this , in C# this would be done like this

int? someTestInt;

This allows me to check for for null , while in certain cases i can use a 0 value ,this isnt always possible since certain execution paths allow 0 values

回答1:

I'm not entirely sure what you want, but if you want to have an integer value that also can be declared null, you probably want to use the Integer class:

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

There are corresponding classes for each primitive: Character, Long, Double, Byte, etc. The 'standard library' numeric classes all extend the Number class.

Note that Java autoboxes these objects automatically since JDK 1.5, so you can use and declare them just like the primitives (no need for e.g. "new Integer(1)"). So, although they are technically objects (and, therefore, extend the Object class, which the primitive int type does not), you can do basic arithmetics with them. They are converted to object operations at compile time.



回答2:

Java does not support nullable primitives. You can use the Integer type if you want the ability to store nulls.

(This is a duplicate of this post: How to present the nullable primitive type int in Java?)



回答3:

Perhaps try the Integer type in Java.



标签: java nullable