检查null的最佳方法是什么?

sco*_*les 5 java

有些人推荐方法2用于null-check,但我不确定它背后的原因是什么以及为什么应该首选它?

Date test1 = null; // test1 can be any object like String instead of Date
if (test1 != null) {
  System.out.println("Test");
}
Run Code Online (Sandbox Code Playgroud)

方法2: -

Date test1 = null;
if (null != test1) {
  System.out.println("Test");
}
Run Code Online (Sandbox Code Playgroud)

Gho*_*ica 3

Java 7 引入了java.lang.Objects以及一些不错的小帮助方法,例如requireNonNull(). Java 8 添加了更多内容,特别是isNull()nonNull(). 它们旨在用于stream()操作;但当然,它们并不局限于这种情况。

因此,一种替代选择是简单地依靠这些新方法来做出此类决策。简洁、可读、“标准”;并防止您在各处重复自己的检查。并且引入和打字错误的机会为零。当然,调用另一个方法的开销最小。另一方面:如果您的方法被调用数百万次 - 无论如何它都会被 JIT 编译;然后这样的小方法可能会很容易被内联。