Generate equals/hashCode Action: Use Arrays.equals/Arrays.hashCode for properties of array types

#KT-10514 Fixed
This commit is contained in:
Alexey Sedunov
2016-01-11 15:09:58 +03:00
parent 7b67eed3dd
commit 5a108c5cde
6 changed files with 101 additions and 5 deletions
@@ -0,0 +1,29 @@
import java.util.Arrays
class A(val n: IntArray?, val s: Array<String>?) {
val f: Float = 1.0f
fun foo() {
}
<caret>override fun equals(other: Any?): Boolean{
if (this === other) return true
if (other?.javaClass != javaClass) return false
other as A
if (!Arrays.equals(n, other.n)) return false
if (!Arrays.equals(s, other.s)) return false
if (f != other.f) return false
return true
}
override fun hashCode(): Int{
var result = n?.let { Arrays.hashCode(it) } ?: 0
result += 31 * result + (s?.let { Arrays.hashCode(it) } ?: 0)
result += 31 * result + f.hashCode()
return result
}
}