Java 中的 int 可以为 null 吗?

新手上路,请多包涵

Java 中的 int 可以是 null 吗?

例如:

 int data = check(Node root);

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

我的目标是编写一个返回 int 的函数。 Said int 存储在节点的高度中,如果该节点不存在,它将为空,我需要检查一下。

我这样做是为了家庭作业,但这个特定部分不是家庭作业的一部分,它只是帮助我完成我正在做的事情。

感谢您的评论,但似乎很少有人真正阅读代码下的内容,我在问我还能如何实现这个目标;很容易发现它不起作用。

原文由 user220755 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2k
2 个回答

int 不能 为空,但 Integer _可以_。拆箱 null 整数时需要小心,因为这会导致很多混乱和头疼!

例如这个:

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

会给你一个 NullPointerException ,尽管对象不为空!

为了跟进你的问题,如果你想指出 没有 价值,我会调查 java.util.Optional<Integer>

原文由 Brian Agnew 发布,翻译遵循 CC BY-SA 3.0 许可协议

不可以。只有对象引用可以为空,基元不能。

原文由 Ignacio Vazquez-Abrams 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题