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

在分配给null之前检​​查变量null是否?

曾绯辞
2023-03-14
问题内容

与空检查相比,变量分配是否昂贵?例如,在将foo分配为null之前是否值得检查其是否为null?

if (foo != null) {
     foo = null;
}

还是这无所顾忌?


问题答案:

这是一个微微优化(可能还是由编译器处理)。不用担心 通过专注于程序的实际算法,您将获得更大的回报。

我们应该忘记效率低下的问题,例如大约97%的时间:过早的优化是万恶之源。-唐纳德​​·努斯



 类似资料:
  • 我想做的是当用户输入一个字符而不是一个整数时,在扫描仪中捕捉错误。我尝试了下面的代码,但最终调用了另一个用户输入(例如,在验证第一次扫描后为I赋值时调用另一个scan.netInt())。仅限数字的nextInt():

  • 我正在使用IntelliJ IDEA的代码检查来评估注释。目前我正在使用package,但是如果这有助于解决问题,我也可以切换到另一个实现。 问题是带注释变量的无效性检查是用另一种方法完成的。这是代码检查器无法识别的。 我能让IntelliJ认识到这种情况吗?

  • 我正试图在android中创建一个干净的复选框代码,但如果我只是按下按钮而没有选中复选框,则会出错这是清理复选框的代码: 这是我在重置按钮上输入的代码 该复选框是一个声明: 显然,如果未选中复选框并出现错误,tem.getItemId为null。 注:如果你不知道答案或不明白,最好询问或继续,然后投否决票。让其他有帮助的人看到这个问题

  • 问题内容: 如果我在某个类中有一个很少使用的集合,该集合可能被实例化很多次,则有时我可能会求助于以下“习惯用法”以节省不必要的对象创建: 现在,我想知道是否无法使用来消除这些空检查,但是我将不得不像这样更改if检查: 除了每次都分配一个新的空集合以外,还有更好的方法来处理此问题吗? 编辑: 为了清楚起见,我 想 使用Collections.emptyList(),但是在add()中进行上述检查确实

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

  • 问题内容: 我们经常在JavaScript代码中使用以下代码模式 有没有更冗长的检查方法具有相同的效果? 根据一些论坛和文献的说法,简单地讲,以下内容应具有相同的效果。 不幸的是,当未定义时,Firebug会将这样的语句评估为运行时错误,而第一个语句就可以了。这仅仅是Firebug的一种(有害的)行为,还是这两种方式之间确实存在某些区别? 问题答案: 您必须区分两种情况: 变量可以是或未 声明的