Вопрос в принципе не требует пояснений. Мне не удалось найти API для массивов (кроме этого Arrays, но это просто определяет набор статических вспомогательных функций для работы с реальными массивами). Если для него нет класса, это, по-видимому, предполагает, что массив не может быть Object
.
Однако тот факт, что массив имеет общедоступные поля, такие как length
, и методы, которые он может вызывать, такие как .equals()
и .clone()
, кажется, предполагает (очень сильно) полную противоположность.
Как объяснить странное представление и поведение примитивных массивов?
В качестве примечания: я только что попытался использовать функцию Eclipse «Открытая реализация» для метода .clone()
массива, надеясь, что смогу посмотреть, где и как был определен этот метод (поскольку он сказал, что int[] переопределил его from Object), но на самом деле это привело к зависанию и падению всего моего Eclipse...