gpt4 book ai didi

java - 关于 NPE 和单行多个表达式的最佳实践

转载 作者:行者123 更新时间:2023-12-04 20:45:13 24 4
gpt4 key购买 nike

我想知道避免在同一线路上针对可能的 NPE 进行多次调用是否是一种公认​​的做法,如果是,在什么情况下。例如:

anObj.doThatWith(myObj.getThis());

对比

Object o = myObj.getThis();
anObj.doThatWith(o);

后者更冗长,但如果有 NPE,您立即知道什么是 null。但是,它还需要为变量创建名称和更多导入语句。

所以我的问题是:

  • 这个问题值得吗围绕设计?是不是更好去对于第一种或第二种可能性?
  • 创建变量名是否会对性能产生影响?
  • 是否有更改异常(exception)的建议消息能够确定什么object 在未来版本中为 null java ?

最佳答案

Is this problem something worth designing around? Is it better to go for the first or second possibility?

国际海事组织,不。选择最可读性的代码版本。

如果您遇到无法诊断的 NPE,然后根据需要修改代码。或者,使用调试器运行它并使用断点和单步执行来找出空指针的来源。

Is the creation of a variable name something that would have an effect performance-wise?

添加额外的变量可能会增加堆栈帧的大小,或者可能会延长某些对象保持可访问性的时间。但这两种影响都不太可能显着。

Is there a proposal to change the exception message to be able to determine what object is null in future versions of Java ?

据我所知不是。实现这样的功能可能会带来显着的性能下降。

关于java - 关于 NPE 和单行多个表达式的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966772/

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