为什么将 null 设置为整数变量会引发异常

Why does set null to integer variable throw Exception

提问人:Batty 提问时间:10/24/2023 更新时间:10/24/2023 访问量:72

问:

我尝试用短 if 语法初始化 Integer 变量 但是在运行时出现异常。

"Cannot cast numeric value to 'null'"

这是我的代码:

  Integer key= (resultLine[index] == null) ? null : ((Byte)resultLine[index]).intValue();

如果我把它改成:

  Integer key= (resultLine[index] == null) ? 1 : ((Byte)resultLine[index]).intValue();

它工作正常。

有什么想法吗?

谢谢

Java 转换

评论

4赞 Federico klez Culloca 10/24/2023
因为条件语句的两个臂必须返回相同的类型。
3赞 Elliott Frisch 10/24/2023
现在找不到重复项,但如前所述,第二个臂目前是一个(不是可以空的类型)。 (避免投射到那样)。intInteger key = (resultLine[index] == null) ? null : Integer.valueOf((byte) resultLine[index]);Byte
0赞 Batty 10/24/2023
谢谢!我以前不知道。
0赞 Ivar 10/24/2023
@Batty 这是你得到的确切错误吗?我很难重现该错误。(我在谷歌上能找到的唯一匹配就是这个问题。

答: 暂无答案