Java – Can an int be null in Java

java

Can an int be null in Java?

For example:

int data = check(Node root);

if ( data == null ) {
 // do something
} else {
 // do something
}

My goal is to write a function which returns an int. Said int is stored in the height of a node, and if the node is not present, it will be null, and I'll need to check that.

I am doing this for homework but this specific part is not part of the homework, it just helps me get through what I am doing.

Thanks for the comments, but it seems very few people have actually read what's under the code, I was asking how else I can accomplish this goal; it was easy to figure out that it doesn't work.

Best Answer

int can't be null, but Integer can. You need to be careful when unboxing null Integers since this can cause a lot of confusion and head scratching!

e.g. this:

int a = object.getA(); // getA returns a null Integer

will give you a NullPointerException, despite object not being null!

To follow up on your question, if you want to indicate the absence of a value, I would investigate java.util.Optional<Integer>