Мне довелось взглянуть на этот вопрос, когда я размышлял над тем же вопросом.Я чувствую, что arraycopy()
- это метод, который используется, когда массив предопределен (т. Е. Память уже выделена).Таким образом, накладные расходы, связанные с выделением памяти, не повторяются.
Например, представьте себе случай, когда вы определили большой массив, который периодически обновляется.Затем использование clone()
будет воссоздавать массив требуемого размера каждый раз, когда массив копируется.Однако arraycopy()
использует предварительно выделенное пространство памяти.
Таким образом, arraycopy()
более эффективен в определенных сценариях по сравнению с clone()
.С другой стороны, clone()
приводит к компактному коду.