Это правда, что объяснение, предложенное в книге, сомнительно, но, если честно, было более правдоподобно, когда они его написали. Это все еще верно в 2.8, но мы должны модернизировать различные рассуждения, потому что, как вы заметили, все другие коллекции выполняют сравнения элементов, даже если они изменчивы.
Пролито много крови, пытаясь сделать массивы похожими на остальные коллекции, но это была чрезвычайно протекающая абстракция, и в конце концов это было невозможно. Было определено, правильно я думаю, что мы должны перейти к другой крайности и предоставить родные массивы такими, какие они есть, используя неявные механизмы для расширения их возможностей. То, где это наиболее заметно падает, это toString и равно, потому что ни один из них не ведет себя разумно в массивах, но мы не можем перехватить эти вызовы с неявными преобразованиями, потому что они определены в java.lang.Object. (Преобразования происходят только тогда, когда выражение не проверяет тип, а те всегда проверяют тип.)
Таким образом, вы можете выбрать свое объяснение, но, в конце концов, массивы принципиально по-разному относятся к базовой архитектуре, и нет способа описать это, не заплатив где-нибудь цену. Это не ужасная ситуация, но это то, что вы должны знать.