scala 对象的相等
1 equals方法
先看一个例子:
package cn.com.tengen.test.obj
case class Person(firstName: String, lastName: String, age: Int)
object Person extends App{
val p1a = Person("Dean", "Wampler", 29)
val p1b = Person("Dean", "Wampler", 29)
val p2 = Person("Buck", "Trends", 30)
println(p1a equals p1b) // 输出: true
println(p1b equals p1a)// 输出: true
println(p1a equals p2)// 输出: false
println(p1a equals null)// 输出: false
// println(null equals p1a)// 抛出 java.lang.NullPointerException异常
// println(null equals p1b)// 抛出 java.lang.NullPointerException异常
val l1 = Nil
val l2 = List(p1a)
val l3 = List(p1b)
val l4 = List(p2)
println(l1 equals l2)// 输出: false
println(l3 equals l2)// 输出: true
println(l3 equals l4)// 输出: false
}p