Structural equality tests should use == or !=
org.openrewrite.kotlin.cleanup.EqualsMethodUsage
In Kotlin, ==
means structural equality and !=
structural inequality and both map to the left-side term’s equals()
function. It is, therefore, redundant to call equals()
as a function. Also, ==
and !=
are more general than equals()
and !equals()
because it allows either of both operands to be null
. Developers using equals()
instead of ==
or !=
is often the result of adapting styles from other languages like Java, where ==
means reference equality and !=
means reference inequality. The ==
and !=
operators are a more concise and elegant way to test structural equality than calling a function.
Tags
Recipe source
GitHub, Issue Tracker, Maven Central
groupId: org.openrewrite
artifactId: rewrite-kotlin
version: 1.14.0
Usage
This recipe has no required configuration options. It can be activated by adding a dependency on org.openrewrite:rewrite-kotlin:1.14.0
in your build file or by running a shell command (in which case no build changes are needed):
Add the following to your
build.gradle
file:
Run
gradle rewriteRun
to run the recipe.
See how this recipe works across multiple open-source repositories
The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.
Contributors
Last updated