问题
Java中的aint
benull
可以吗?
例如:
int data = check(Node root);
if ( data == null ) {
// do something
} else {
// do something
}
我的目标是编写一个函数,返回一个int
。 Saidint
存储在节点的高度,如果节点不存在,它将为null,我需要检查它。
我这样做是为了完成家庭作业,但这个特定的部分不是作业的一部分,它只是帮助我完成我正在做的事情。
感谢你的评论,但似乎很少有人真正阅读过代码中的内容,我在问我还能如何实现这一目标;很容易弄清楚它不起作用。
#1 热门回答(164 赞)
int
不能为null,但是Integer
可以。拆箱null整数时你需要小心,因为这会引起很多混乱和头疼!
例如这个:
int a = object.getA(); // getA returns a null Integer
会给你aNullPointerException
,尽管对象不是空的!
要跟进你的问题,如果你想表明价值的存在,我会调查java.util.Optional<Integer>
#2 热门回答(35 赞)
不可以。只有对象引用可以为null,而不是原语。
#3 热门回答(27 赞)
一个很好的方法来找出:
public static void main(String args[]) {
int i = null;
}
尝试编译。