首页 > 解决方案 > 拒绝在 Groovy 上使用 ==(或更改其行为)

问题描述

我怎样才能拒绝使用==Groovy 文件(或使其完全平等地工作?)

为了拒绝使用,我更喜欢任何解决方案,例如:

在最坏的情况下,我将尝试使用 Gradle 来执行此操作,搜索字符串并==*.groovy发现任何情况时阻止构建。我也可以尝试 Sonar,但我更喜欢 Groovy 的内置功能(当然,如果存在这样的东西)

任何使 == 与 equals 完全一样的解决方案也很棒。


原因

我有一个大项目,并意识到会发生一些问题,因为==equals(). 运算符==使用compareTo()if 类扩展Comparable,忽略equals()and的值hashCode()。参考:http ://docs.groovy-lang.org/docs/latest/html/documentation/#_behaviour_of_code_code


更新 1

用例:一个用例是:假设您有 Dogs 对象,其中包含字段:idname. 要检查相等性,我们需要使用id,因为 id 是唯一的。但是,要按名称按字母顺序对狗进行排序,我需要使用compareTo,检查该name字段。而且因为 2 条狗可以有相同的名字,Groovy 认为这dog(id:1, name:'rex')dog(id:2, name:'rex')

标签: javagradlegroovy

解决方案


推荐阅读