【发布时间】:2011-02-28 12:44:27
【问题描述】:
使用方法test1() 和test2(),我得到一个类型不匹配错误:无法从null 转换为int,这是正确的;但是为什么我在方法test3() 中没有得到相同的结果?在这种情况下,Java 如何以不同的方式评估条件表达式? (显然,NullPointerException 将在运行时上升)。是缺少错误吗?
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);
}
}
提前致谢!
【问题讨论】:
标签: java null if-statement conditional-operator implicit-conversion