java - Java中的int可以为null吗?

标签 java

int 在 Java 中可以是 null 吗?

例如:

int data = check(Node root);

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

我的目标是编写一个返回 int 的函数。所说的int存储在节点的高度中,如果节点不存在,则为null,我需要检查一下。

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

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

最佳答案

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

例如这个:

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

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

为了跟进你的问题,如果你想指出一个值的不存在,我会调查 java.util.Optional<Integer>

关于java - Java中的int可以为null吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254435/

相关文章:

java - Android - 2 个应用程序之间的 SharedPreferences 无法有效工作

java - 不同版本 Android 中跨包的 protected 内部类可见性的差异

Java:同步线程失败

java - 反射泛型类型边界和方法链

java - 检索 Grails 域验证消息

java - 在 Linux 中运行小程序?

java - 在构造函数之外的方法中使用构造函数中的变量

java - JAXB - 不要解码嵌套元素 - 可能吗?

java - 在java中的循环中比较当前值与先前值

java - 是否可以使用 sublime text 来构建复杂的 java 应用程序?