equals(==) の再帰呼び出しを報告します。
Kotlin の == は、equals メソッドを内部的に呼び出すことでオブジェクト値を比較しています。
その一方で、=== はオブジェクトを参照で比較しています。
=== は、一般的に equals メソッドの実装で使用されます。
しかし、=== が誤って == と混同され、無限再帰を引き起こす可能性があります。
例:
class X {
override fun equals(other: Any?): Boolean {
if (this == other) return true
return false
}
}
クイックフィックス適用後:
class X {
override fun equals(other: Any?): Boolean {
if (this === other) return true
return false
}
}