class A(val result: Int, val s: String) { fun foo() { } override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false other as A if (result != other.result) return false if (s != other.s) return false return true } override fun hashCode(): Int { var result1 = result result1 = 31 * result1 + s.hashCode() return result1 } }