java - Groovy 脚本性能包含与匹配

标签 java groovy

我是 Groovy 语言的新手。我正在使用 groovy 代码来检查 http url 的响应是否有效。从性能角度来看,通常建议使用 - contains() 或 matches(),这将允许我验证是否得到正确的响应。

最佳答案

在 Java 中,Groovy 的 contains()in 运算符检查纯字符串基础上的精确匹配,基本上是 -1 != str 的快捷方式。 indexOf('aaa').

另一方面,java中的matches()或groovy中的==~=~引入了Regex Patter匹配开销,并且是稍微慢一些。这是您为正则表达式的强大功能和灵 active 所付出的代价。

回到您的用例,我认为 matches() 相对于 contains() 的性能成本可以忽略不计,因为 http 请求需要更长的时间才能完成执行。

在这种情况下,我会寻求具有更大可读性和灵 active 的解决方案,这将是正则表达式的方式。另一方面,如果您确实想要完全匹配,则应该坚持使用 contains

除了上述之外,如果您确实想要最后一点性能下降,您应该自己运行这两种方法的负载测试。

关于java - Groovy 脚本性能包含与匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62486978/

相关文章:

java - android中的幽灵 Activity

从 String 动态实例化类的 Groovy 方法

java - Java 中的任何 3D 几何算法库?

java - Java中如何将包含数字的String[]转换为int[]?

java - 获取 spring :bind status. errorMessage 填充时出现问题

java - @Version 在 Spring mongo 中没有增加

jenkins - 在 Jenkins Workflow 插件中获取输入批准者用户名

java - 如何使用 Spring Cloud Contracts 将 Stub 中的 NULL 值设置为 clientValue

java - 从监听器修改 UI

java - 为什么运行此命令后出现端口错误?