小编典典

更好的是:多个“ if”语句还是一个具有多个条件的“ if”语句?

java

对于我的工作,我必须开发一个小型Java应用程序,该应用程序可以解析非常大的XML文件(约30万行)以选择非常具体的数据(使用Pattern),因此我试图对其进行一些优化。我想知道这两个摘要之间哪个更好:

if (boolean_condition && matcher.find(string)) {
    ...
}

要么

if (boolean_condition) {
    if (matcher.find(string)) {
        ...
    }
}

其他详情:

  • 这些if语句在循环内的每次迭代中执行(约20k次迭代)
  • boolean_condition是一种boolean在利用外部函数每次迭代计算
  • 如果将boolean设置为false,则无需测试正则表达式是否匹配

谢谢你的帮助。


阅读 356

收藏
2020-09-08

共1个答案

小编典典

我遵循的一条黄金法则是尽我所能“ 避免嵌套 ”。但是,如果要以使我的单身条件过于复杂为代价,则我不介意将其嵌套。

此外,您正在使用短路&&操作器。因此,如果布尔值为假,它甚至不会尝试匹配!

所以,

if (boolean_condition && matcher.find(string)) {
    ...
}

是要走的路!

2020-09-08