为什么Java LogRecord构造函数调用随机方法来检查非null参数?

时间:2016-07-21 17:08:41

标签: java oracle logging

java.util.logging.LogRecord(Level level, String msg)的构造函数在其代码中明确说明,在第一行中调用随机代码行来检查变量level是否为空。

  

//通过调用随机方法确保级别不为空。

对此有一些隐藏的解释吗?

以下是构造函数的屏幕截图,但您可以直接从IDE中进行检查。

LogRecord

1 个答案:

答案 0 :(得分:1)

它只是一个隐式空检查的例子。

即使评论说“随机方法”,也选择了getClass(),因为:

  1. 比检查null并且抛出新的NullPointerException短。但另一方面,有一条很长的评论解释了短代码。
  2. 没有副作用。
  3. 它被声明为final,不能被子类覆盖。
  4. 代码是在java.util.Objects.requireNonNull之前编写的。