gpt4 book ai didi

java - 为什么java允许NPE

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:19 24 4
gpt4 key购买 nike

为什么 javac 不会在此代码上发出错误?

private static int compute(int v) {
return v == 0 ? null : v;
}

当然,compute(0) 会抛出 NullPointerException。我希望 java 编译器通过做一些基本的静态代码分析来防止这种情况,就像它会阻止一样

private static int compute(int v) {
if (v == 0)
return null;
else
return v;
}

最佳答案

Why does java allow NPE?

指示异常情况(并允许程序员可能恢复)。

在您的示例中,Java 允许 autoboxingunboxing . nullint 装箱为 Integer(然后 unboxedint).

关于java - 为什么java允许NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34836737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com