Java 关于空指针异常避免安全措施
请建议通过应用谨慎或防御性编码技术和空安全API方法来避免NullPointerException的最佳方法。特别是在用java编写代码时,我分析过的一件事是设置空检查,您是否也可以为我们可以使用的eclipse编辑器提供任何自定义模板的建议Java 关于空指针异常避免安全措施,java,exception,nullpointerexception,Java,Exception,Nullpointerexception,请建议通过应用谨慎或防御性编码技术和空安全API方法来避免NullPointerException的最佳方法。特别是在用java编写代码时,我分析过的一件事是设置空检查,您是否也可以为我们可以使用的eclipse编辑器提供任何自定义模板的建议 在对对象进行操作之前,请检查是否存在空解引用 如果(某物!=null) //做一件事 如果您希望消除空解引用,请使用yoda表示法 如果(“是”,等于(某物) //做点什么 Eclipse编辑器插件?也许你可以使用样式检查 在对对象进行操作之前,请检查是否
Eclipse编辑器插件?也许你可以使用样式检查。好吧,如果你调用一个函数,并且null是一个可能的返回值,那么你必须检查它。另一方面,如果你在任何地方都检查null,这将太过防御性,使代码混乱。如果你可以访问源代码和/或javadoc,你可以检查该函数是否正确将返回null或不返回 有时,如果您期望一个值,但变量为null,则必须抛出一个异常,因此NPE在这种情况下非常有用,因为其他地方存在错误 此外,还有一些注释,如@NonNull或@Nullable,一些静态分析检查器(如Findbugs)使用它们来帮助它们捕获可能的空指针问题 对于正在构建的函数,请检查返回null是否有意义。例如,如果函数返回集合,则返回空集合和返回null之间存在差异
更多阅读:好吧,如果你调用一个函数,并且null是一个可能的返回值,那么你必须检查它。另一方面,如果你在任何地方都检查null,这将太过防御性,使代码混乱。如果你有权访问源代码和/或javadoc,你可以检查函数是否返回null 有时,如果您期望一个值,但变量为null,则必须抛出一个异常,因此NPE在这种情况下非常有用,因为其他地方存在错误 此外,还有一些注释,如@NonNull或@Nullable,一些静态分析检查器(如Findbugs)使用它们来帮助它们捕获可能的空指针问题 对于正在构建的函数,请检查返回null是否有意义。例如,如果函数返回集合,则返回空集合和返回null之间存在差异
更多阅读:一个有用的模式是Option模式。它在Scala中广泛使用,并讨论了Java等效模式 简单地说,不是返回对对象的引用,而是返回一个Option对象。一个子类(部分)包含引用,而另一个子类(无)不包含引用。因此API明确声明您可能无法返回值。为了返回基础引用,您必须确定您得到了什么 e、 g.(伪代码) 您可以在Scala中使其更加简洁,即:
findNameForId(34).getOrElse(throw new Exception)
或
一个有用的模式是Option模式,它在Scala中广泛使用,并讨论了Java等效模式 简单地说,不是返回对对象的引用,而是返回一个Option对象。一个子类(部分)包含引用,而另一个子类(无)不包含引用。因此API明确声明您可能无法返回值。为了返回基础引用,您必须确定您得到了什么 e、 g.(伪代码) 您可以在Scala中使其更加简洁,即:
findNameForId(34).getOrElse(throw new Exception)
或
避免某事的最好方法是研究它的来来往往。避免某事的最好方法是研究它的来来往往。
findNameForId(34).getOrElse(throw new Exception)
findNameForId(34).getOrElse(DefaultValue)