gpt4 book ai didi

java - 为什么不在编译时检查空指针异常,例如当在 Java 中迭代空集合而不是运行时异常时?

转载 作者:行者123 更新时间:2023-12-02 09:13:37 24 4
gpt4 key购买 nike

每当我在 Java 中迭代 Collection(它为 null)时,它都会在运行时抛出 NullPointerException。为什么没有编译时检查?

例如这里:

List<String> list = null;
for (String str : list) {
System.out.println(str);
}

最佳答案

我的想法是

对于可以预防的事情会抛出运行时异常。

例如,NullPointerException 始终可以避免,因此是未经检查的异常。

所以,编译器不会这样做。尽管像 Intellij IDE 或 SonarLint 这样的工具会向您显示一条警告,指出它可能会抛出 NullPointerException。

无论如何,程序员应该知道某些东西是否会抛出 NullPointerException。

关于java - 为什么不在编译时检查空指针异常,例如当在 Java 中迭代空集合而不是运行时异常时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59187225/

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