var str1 = new String("abc")
var str2 = "abc"
println(s"str1==str2:${str1==str2}") // true
println(s"str1.equals(str2):${str1.equals(str2)}") // true
println(s"str1.eq(str2):${str1.eq(str2)}") // false
特别说明: 在Scala中,所有的运算符都是类中的方法。
- ==在Scala中,是类中定义的方法,其底层调用时,调用的是此类的equals方法。
- String的equals方法是重写过的,比较的是两个对象的具体的值。
- eq方法比较的是两个对象的地址,其底层调用的是Java中的==比较运算符。