È possibile trovare questo fuori voi stessi per qualsiasi metodo, cercando al scaladoc e scoprire dove è definito, e quindi guardando la fonte. Se inizi con lo online docs, puoi fare tutto questo semplicemente facendo clic: vai al metodo, aprilo facendo clic sulla freccia a sinistra e vedrai un elenco di classi di sostituzione. Vai al primo e guarda la fonte.
Comunque, in questo caso, GenSeqLike
, un supertrait di List
e molte altre raccolte, definisce equals
come controllo canEqual
seguito da sameElements
. A sua volta, sameElements
controlla se entrambi gli argomenti sono LinearSeq
s, e se è così, chiama uguale su ogni coppia di elementi dividendo la testa e la coda uno alla volta. In caso contrario, per impostazione predefinita utilizza gli iteratori, chiamando hasNext
su ciascuno e quindi confrontando gli elementi con equals
.
Quindi, per farla breve: sì, chiama è pari, in ogni coppia di elementi (arresto non appena rileva una mancata corrispondenza).
fonte
2012-06-20 16:01:42
Hai guardato il codice? Scala è open source. –
hai provato a eseguirlo? –
@Tyler: Sì, ma non sono riuscito a trovare il codice corretto del codice, poiché List estende molte altre classi. –