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

检查null-什么顺序?

须捷
2023-03-14
问题内容

在检查null时,我使用以下方法:

String str;

if(str == null){
    //...
}

但我也看到了这一点:

if(null == str){
    //...
}

使用一个相对于另一个有什么优势吗?还是只是为了提高可读性?


问题答案:

第二个版本(null == str)称为 yoda条件

它们都导致相同的行为,但是第二个优点是:当您忘记一个变量时,它可以防止您意外地更改变量=。在这种情况下,编译器将在该行返回错误,并且您不会再遇到一些奇怪的代码行为和调试结果。



 类似资料:
  • 我是Java初学者,目前正在完成有关DSA的Udemy课程。我正在学习链表,并且正在研究在链表中插入和删除节点的方法。 从我所学到的到目前为止,我知道我们使用条件来检查链接列表是否是空的。 如果条件为true,则LinkedList为空,否则它不为空。 然而,我们不应该检查是否,因为尾巴将始终引用LinkedList中的最后一个节点,即使我们使? 这是我的密码:

  • 问题内容: 在Java中,有人告诉我在执行null检查时应使用==而不是.equals()。是什么原因呢? 问题答案: 他们是完全不同的两件事。比较变量包含的对象引用(如果有)。根据相等性的含义检查两个对象是否相等。根据它们的契约,两个不同的对象实例完全有可能“相等”。还有一个小细节,因为这是一个方法,所以如果你尝试在引用上调用它,则会得到一个。 例如:

  • 我正在学习Java数据结构课程,目前正在学习单链表。在addHead的方法中,为什么我们需要检查tail==null?如果是真的,为什么尾巴=头? 完整代码:https://venus.cs.qc.cuny.edu/~ryba/cs313/linkedList/LinkedList.java

  • 问题内容: 这是下面的代码: 如果值是我仍然得到未选中的框。我是不是应该从上面做错事,应该工作? 有任何想法吗? 问题答案: 使用is_null或运算符。

  • Jasmine还提供了不同的方法来提供JS输出的顺序性。 以下示例显示了如何使用Jasmine实现顺序检查。 toContain() toContain()匹配器为我们提供了检查任何元素是否是同一数组或其他顺序对象的一部分的工具。 以下示例将帮助我们了解Jasmine toContain()方法的工作方法。 让我们在之前创建的customerMatcherSpec.js文件中添加以下代码。 des

  • 让我澄清一下我的问题,OnCreate方法用于初始化视图并展平布局,因此我认为,如果OnCreate方法在一切之前运行,意味着我的EditText字段为空意味着为空,那么这个条件是如何工作的。但它运行良好,这意味着我理解错误。请告诉我我错过了什么。 代码片段取自google codelabs,我们在那里提供电话号码。在editText中,通过点击设备内置键盘上的发送按钮,我们启动电话应用程序来拨打