在Java中int
可以null
吗?
例如:
int data = check(Node root);
if ( data == null ) {
// do something
} else {
// do something
}
我的目标是编写一个返回int
的函数。所述int
存储在节点的高度中,如果节点不存在,它将为空,我需要检查一下。
我这样做是为了做家庭作业,但这一特定部分并不是家庭作业的一部分,它只是帮助我完成我正在做的事情。
谢谢你的评论,但似乎很少有人真正读过代码下的内容,我在问我还能如何实现这个目标;很容易发现它不起作用。
找到答案的好方法:
public static void main(String args[]) {
int i = null;
}
尝试编译。
不。只有对象引用可以为空,不能为基元。
int
不能为空,但Integer
可以为空。取消装箱空整数时需要小心,因为这可能会导致很多混乱和头痛!
e、 g.这:
int a = object.getA(); // getA returns a null Integer
将给你一个空点异常
,尽管对象不是空的!
为了跟进您的问题,如果您想指出没有值,我将调查java。util。可选择的
问题内容: 我知道,当我阅读答案时,会发现我已经忽略了我眼中的事物。但是我花了最后30分钟试图自己弄清楚,但没有结果。 因此,我正在用Java 6编写程序,并发现了一些(对我而言)奇怪的功能。为了尝试隔离它,我举了两个小例子。我首先尝试了以下方法: 编译器拒绝了它:类型不匹配:无法从null转换为int。 这对我来说很好,并且尊重我熟悉的Java语义。然后我尝试了以下方法: 编译没有错误!但是,我
问题内容: 运行此命令时: 响应为: 这对我来说真是太棒了。我本以为这会带来编译时错误。 为什么我可以在Java中抛出null,为什么将其转换为NullPointerException? (实际上,鉴于我抛出的是null,因此我不知道这是否是“ upcast”) 除了一个非常愚蠢的面试问题(请没人在面试中问这个问题)之外,我看不到任何理由。也许您想被解雇,但这就是…我的意思是,为什么还会有人呢?
问题内容: 我正在修改MySQL语句,但LEFT JOIN和空白行有一些麻烦。目前,我有: 只要“ tblguardians”表中有一个条目,该查询就可以正常工作,但是如果没有记录,则LEFT JOIN返回NULL- 因此,当我遍历PHP中的结果时,不会返回该条目。 有没有一种方法可以从“ tblcases”返回字段,而无论“ tblguardians”是否有关联的结果?我想我已经读了太多的Goo
我有一个实体,它的字段可以是存储为字符串的整数,也可以是GUID。我根据字段是GUID还是整数执行不同的方法。如果值是GUID,则可以确保int.TryParse始终返回false。NewGuid()是否返回可解析的整数?
可能重复:if语句末尾有分号 我在编程时,在代码中发现了一个bug,这是因为“if”语句后面有一个分号,它的长方体“{xxx}”被执行时就好像它有自己的作用域一样--所以一切都会被编译。 这回避了一个问题,为什么是: Java中的一个可能的语句,它似乎是一行无用的代码,可能会产生很多bug等等。