当前位置: 首页 > 面试题库 >

Java object == null或null == object?

鲁弘厚
2023-03-14
问题内容

我听到有人null == objectobject == null检查更好

例如:

void m1(Object obj ) {
   if(null == obj)  // Is this better than object == null ? Why ?
       return ;
   // Else blah blah
}

有什么原因还是这是另一个神话?感谢帮助。


问题答案:

这可能是从C那里学来的一种习惯,可以避免这种错字(单打=而不是双打==):

if (object = null) {

将常量放在左侧的约定==在Java中并不是真正有用的,因为Java要求将表达式中的表达式if计算为一个boolean值,因此,除非常量为a boolean,否则将以两种方式放置都会产生编译错误论点。(如果是布尔值,则==无论如何都不应该使用…)



 类似资料:
  • 问题内容: 我写了两种方法检查那里的表现 并在编译后检查它的字节码 在这里,两个操作码用于实现if条件:在第一种情况下,它使用ifnull-检查栈顶值是否为null-;在第二种情况下,它使用if_acmpeq- 检查栈顶值是否相等- 那么,这会对性能产生影响吗?(这将帮助我证明null的第一个实现在性能方面以及可读性方面都不错:)) 问题答案: 比较生成的字节码几乎没有意义,因为大多数优化是在运行

  • 问题内容: 我希望在可为空的列上搜索数据库表。有时,我要搜索的值本身就是NULL。由于Null等于零,甚至NULL,所以说 将失败。现在我不得不求助于 有没有更简单的说法呢? (如果重要的话,我正在使用Oracle) 问题答案: 您可以做IsNull或NVL东西,但这只会使引擎做更多的工作。您将调用函数进行列转换,然后必须将结果进行比较。 用你所拥有的

  • Jasmine提供了一种不同的方法来检查实际输出是否为Null,已定义或未定义。 在本章中,我们将学习如何实现不同的Jasmine方法来检查上述场景。 toBedefined() 此匹配器用于检查代码中的任何变量是否已预定义。 让我们根据这个例子修改我们的customerMatcherSpec.js文件。 currentVal = 0; describe("Different Methods

  • 问题内容: 在Java中,哪个会更有效,并且有什么区别? 要么 问题答案: (类似于此问题:null == object和object==null之间的区别) 我要说的是,这两个表达式在性能上绝对没有区别。 然而,有趣的是,两种情况下的编译字节码(由OpenJDK的javac发出)看起来有些不同。 对于: 对于: 正如@Bozho所说,是最常见,默认和首选的样式。 但是,在某些情况下,我倾向于放在

  • 问题内容: 在使用hibernate保存父/子对象时遇到麻烦。任何想法将不胜感激。 hibernate映射: InvoiceManager.java 发票.java InvoiceItem.java 问题答案: 由于在 多对一 映射中,每个对象都必须具有附件。 __ 因此,基本思想是您需要在代码中建立该显式关系。有很多方法可以做到这一点。在您的课堂上,我看到了一个方法。我看不到方法。设置项目时,需

  • NULL 值代表遗漏的未知数据。 默认地,表的列可以存放 NULL 值。 本章讲解 IS NULL 和 IS NOT NULL 操作符。 SQL NULL 值 如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。 NULL 值的处理方式与其他值不同。 NULL 用作未知的或不适用的值的占位符。 注释:无法比较 NULL 和