Вы можете найти это самостоятельно для любого метода, глядя на Scaladoc и выяснить, где он определен, а затем смотрит на источник. Если вы начинаете с online docs, вы можете сделать это все, просто щелкнув: перейдите к методу, откройте его, нажав на стрелку слева, и вы увидите список переопределяющих классов. Перейдите к первому и посмотрите на источник.
Во всяком случае, в этом случае, GenSeqLike
, supertrait из List
и многие другие коллекции, определяет equals
как canEqual
проверки с последующим sameElements
. В свою очередь, sameElements
проверяет, являются ли оба аргумента LinearSeq
s, и если это так, вызовы равны по каждой паре элементов, разбивая голову и конец отдельно друг на друга. В противном случае он по умолчанию использует итераторы, вызывая hasNext
на каждом, а затем сравнивая элементы с equals
.
Итак, длинный рассказ: да, он называет равным по каждой паре элементов (останавливается, как только находит несоответствие).
Вы просматривали код? Scala - с открытым исходным кодом. –
вы попробовали запустить его? –
@Tyler: Да, но я не смог найти правильный код кода, так как List расширяет множество других классов. –