JRL*_*JRL 2 java nullpointerexception
我想知道是否可以接受的做法是避免就可能的NPE在同一条线路上进行多次呼叫,如果是这样,在什么情况下也是如此.例如:
anObj.doThatWith(myObj.getThis());
Run Code Online (Sandbox Code Playgroud)
VS
Object o = myObj.getThis();
anObj.doThatWith(o);
Run Code Online (Sandbox Code Playgroud)
后者更冗长,但如果有NPE,你会立即知道它是什么null.但是,它还需要为变量和更多import语句创建名称.
所以我的问题是:
nullJava的未来版本中的对象是什么?这个问题值得设计吗?第一种或第二种可能性更好吗?
国际海事组织,没有.去寻找最易读的代码版本.
如果你是无法诊断的NPE 然后根据需要修改的代码.或者,使用调试器运行它,并使用断点和单步执行来找出空指针的来源.
变量名称的创建是否具有性能效果?
添加额外变量可能会增加堆栈帧大小,或者可能会延长某些对象保持可访问的时间.但这两种影响都不大可能.
是否有建议更改异常消息,以便能够在将来的Java版本中确定哪个对象为null?
不是我知道的.实现这样的功能可能会有明显的性能缺点.