什么是更快,正则表达式或比较 – Java
发布时间:2020-12-13 22:56:26 所属栏目:百科 来源:网络整理
导读:我有两种可能性,制作正则表达式或制作if比较. 如果比较 if (!(modoImpressao.equals("IMPRESSORA") || modoImpressao.equals("PDF") || modoImpressao.equals("AMBOS"))) 正则表达式匹配 if (!Pattern.compile("(IMPRESSORA)|(PDF)|(AMBOS)",Pattern.DOTALL)
我有两种可能性,制作正则表达式或制作if比较.
如果比较 if (!(modoImpressao.equals("IMPRESSORA") || modoImpressao.equals("PDF") || modoImpressao.equals("AMBOS"))) 正则表达式匹配 if (!Pattern.compile("(IMPRESSORA)|(PDF)|(AMBOS)",Pattern.DOTALL).matcher(modoImpressao).find()){ throw new EspdNeverStopParametroInvalidoException(TspdConstMessages.IMPRIMIR_PARAMETRO_MODOIMPRESSAO_INVALIDO,"TspdImprimirNFCe"); } 哪一个更快?
第一个片段几乎肯定会更快,因为它不必解析正则表达式并执行匹配.另一种选择是:
if (Arrays.asList("IMPRESSORA","PDF","AMBOS").contains(modoImpressao) 这应该与你的第一个片段的速度不同,但可以说更具可读性和简洁性. 正则表达式很棒,但只在需要时才使用它们.这种情况绝对不能保证使用正则表达式;你所做的只是与文字字符串进行比较. Jamie Zawinski有一句古老的说法是这样的:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |