“在哪里?”==&引用;Scala列表API中的方法?

“在哪里?”==&引用;Scala列表API中的方法?,scala,Scala,我正在读《Scala中的编程》一书,书中提到=是类中的final,这意味着子类不能重写它,所以当我看到这个示例列表(1,2)==List(1,2),我去查找文档,我找不到方法=,Scala实际上是如何在列表中定义该方法的?为什么它不在API文档中 如果它没有被列表类覆盖,那么如何基于列表项而不是对象引用进行比较?=是类中的最后一个方法,它调用.equals 问:Scala实际上是如何在列表中定义该方法的 答:Scala执行环境中的每个类都直接或间接继承 间接来自任何类 Scala中的引用等式是e

我正在读《Scala中的编程》一书,书中提到
=
中的final
,这意味着子类不能重写它,所以当我看到这个示例
列表(1,2)==List(1,2)
,我去查找文档,我找不到方法
=
,Scala实际上是如何在
列表中定义该方法的?为什么它不在API文档中


如果它没有被
列表
类覆盖,那么如何基于
列表
项而不是对象引用进行比较?

=
是类
中的最后一个方法,它调用
.equals

问:Scala实际上是如何在列表中定义该方法的

答:Scala执行环境中的每个类都直接或间接继承 间接来自
任何


Scala中的引用等式是
eq

=
是类
Any
中的最终方法,它调用
.equals

问:Scala实际上是如何在列表中定义该方法的

答:Scala执行环境中的每个类都直接或间接继承 间接来自
任何


Scala中的引用等式是
eq

==在任何类中都是最终的,并且
Any
Scala类层次结构中的根。scala中的每个类都将从
Any
default扩展。因此,当在scala中调用
=
时,它将首先调用Any
=
方法。对于
任何
==
定义:

如果(x eq null)该eq null,否则x等于(该)


请参阅:

==在类Any中是最终的,而
Any
scala类层次结构中的根。scala中的每个类都将从
Any
default扩展。因此,当在scala中调用
=
时,它将首先调用Any
=
方法。对于
任何
==
定义:

如果(x eq null)该eq null,否则x等于(该)


看:

我好像问了一个愚蠢的问题。我认为
vala=List(1,2)
valb=List(1,2)
具有相同的对象引用,因为它们像字符串一样是不可变的。似乎我问了一个愚蠢的问题。我认为
vala=List(1,2)
valb=List(1,2)
具有相同的对象引用,因为它们像字符串一样是不可变的。