private static Integer getInteger() {
return null;
}
public static void main(String[] args) {
boolean condition = false;
// error: null pointer exception
Integer i = condition ? 1 : getInteger();
if (Objects.equals(i, 1)) {
System.out.println("i == 1");
} else {
System.out.println("i == null");
}
}
为什么是 getInteger() 返回值退化成 int 而不是 1 提升为 Integer ?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.