【发布时间】:2011-07-12 17:01:32
【问题描述】:
对于我的工作,我必须开发一个小型 Java 应用程序来解析非常大的 XML 文件(约 30 万行)以选择非常具体的数据(使用 Pattern),所以我正在尝试对其进行一些优化。我想知道这 2 个 sn-ps 之间哪个更好:
if (boolean_condition && matcher.find(string)) {
...
}
或
if (boolean_condition) {
if (matcher.find(string)) {
...
}
}
其他细节:
- 这些 if 语句在循环内的每次迭代中执行(约 20k 次迭代)
-
boolean_condition是使用外部函数在每次迭代中计算得到的boolean - 如果
boolean设置为false,我不需要测试正则表达式是否匹配
感谢您的帮助。
【问题讨论】:
-
没有简单的答案。查看this SO discussion关于同一主题的信息。
-
没有任何性能差异。这纯粹是一个风格问题,这使它成为一个见仁见智的问题。
标签: java optimization if-statement multiple-conditions