【发布时间】:2015-02-15 03:30:48
【问题描述】:
在检查了JavaDocs 中我正在考虑使用的方法requiredNonNull 之后,我偶然发现了第一个带有单个参数(T obj) 的方法。
但是,使用此签名的特定方法的实际目的是什么?它所做的只是抛出和我有点积极的 NPE(因为我可能在这里遗漏了一些明显的东西) 无论如何都会被抛出。
抛出: NullPointerException - 如果 obj 为空
后者实际上在调试某些代码方面是有意义的,正如文档中所说,它主要是为参数验证而设计的
public static <T> T requireNonNull(T obj,String message)
检查指定的对象引用不为空,如果是则抛出自定义的 NullPointerException。
因此,我可以将特定信息与 NPE 一起打印,从而使调试变得非常容易。
考虑到这一点,我非常怀疑我是否会遇到我宁愿只使用前者的情况。请赐教。
tl;dr - 你为什么要使用不接收消息的重载。
【问题讨论】:
-
您的实际问题是什么?您已经自己回答了标题中提出的问题。
-
@Radiodef Sotirios Delimanolis 总结得最好——“我认为,从身体上看,问题是你为什么要使用不需要消息的重载。”
-
你应该编辑你的问题来澄清。
-
好的,已经添加了。
标签: java