Почему Java ArrayList использует приведение для каждого элемента вместо преобразования для каждого массива?
Что происходит внутри JavaArrayList
(и, вероятно, многие другие классы), что есть внутреннийObject[] array = new Object[n];
, которомуT
Объекты написаны. Всякий раз, когда элемент читается из него, приведениеreturn (T) array[i];
готово. Итак, наложение на каждое чтение.
Интересно, почему это сделано? Мне кажется, онипросто делаю ненужные забросы. Wouldn»т это будет более логичным, а также немного быстрее, просто создатьT[] array = (T[]) new Object[n];
а потом простоreturn array[i];
без актерского состава? Это только один приведение к созданию массива, который обычнодалеко меньше, чем количество чтений.
Почему их метод предпочтительнее? Я не понимаю, почему моя идея неСтрого лучше?