59

How do I check a Long value for null in Java?

Will this work?

if ( longValue == null) { return blah; }

8 Answers 8

115

Primitive data types cannot be null. Only Object data types can be null.

There are 8 primitive types in Java:

Data Type Size Description
byte 1 byte Int8
short 2 bytes Int16
int 4 bytes Int32
long 8 bytes Int64
float 4 bytes Single
double 8 bytes Double
boolean 1 bit Boolean

If you use Long (wrapper class for long) then you can check for null's:

Long longValue = null;

if(longValue == null)
Sign up to request clarification or add additional context in comments.

Comments

21

If it is Long object then You can use longValue == null or you can use Objects.isNull(longValue) method in Java 7+ projects .

Please check Objects for more info.

Comments

12

If the longValue variable is of type Long (the wrapper class, not the primitive long), then yes you can check for null values.

A primitive variable needs to be initialized to some value explicitly (e.g. to 0) so its value will never be null.

Comments

10

You can check Long object for null value with longValue == null , you can use longValue == 0L for long (primitive), because default value of long is 0L, but it's result will be true if longValue is zero too

Comments

3

Of course Primitive types cannot be null. But in Java 8 you can use Objects.isNull(longValue) to check. Ex. If(Objects.isNull(longValue))

Comments

2

As mentioned already primitives can not be set to the Object type null.

What I do in such cases is just to use -1 or Long.MIN_VALUE.

Comments

0

If it is Long you can check if it's null unless you go for long (as primitive data types cant be null while Long instance is a object)

Long num; 

if(num == null) return;

For some context, you can also prefer using Optional with it to make it somehow beautiful for some use cases. Refer @RequestParam in Spring MVC handling optional parameters

Comments

-7

As primitives(long) can't be null,It can be converted to wrapper class of that primitive type(ie.Long) and null check can be performed.

If you want to check whether long variable is null,you can convert that into Long and check,

long longValue=null;

if(Long.valueOf(longValue)==null)

1 Comment

You will never get null value for Long.valueOf() operation.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.