Array type in a data class without overridden equals() or hashCode().
Array parameters are compared by reference equality, which is likely an unexpected behavior.
It is strongly recommended to override equals() and hashCode() in such cases.
Example:
data class Text(val lines: Array<String>)
A quick-fix generates missing equals() and hashCode() implementations:
data class Text(val lines: Array<String>) {
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false
other as Text
if (!lines.contentEquals(other.lines)) return false
return true
}
override fun hashCode(): Int {
return lines.contentHashCode()
}
}