使用方法test1()and test2(),我得到一个Type Mismatch Error: Cannot convert from null to int,这是正确的;但为什么我的方法不一样test3()?在这种情况下,Java 如何以不同的方式评估条件表达式?(显然, aNullPointerException会在运行时上升)。它是一个丢失的错误吗?
public class Test {
public int test1(int param) {
return null;
}
public int test2(int param) {
if (param > 0)
return param;
return null;
}
public int test3(int param) {
return (param > 0 ? param : null);
}
}
提前致谢!