До дженериков Java Collection.toArray ()
не было способа узнать, какой тип массива ожидал разработчик (особенно для пустой коллекции ). Насколько я понимаю, это было основным обоснованием идиомы collection.toArray (new E [0])
.
С дженериками, Collection
может возвращать только массив, полный экземпляров E
и / или его специализаций. Интересно, почему возвращаемый тип по-прежнему Object []
, а не E []
. На мой взгляд, возврат E []
вместо Object []
не должен нарушать существующий код.
См .: Collection.toArray ()
, Collection.toArray (T [])
и связанная тема java: (String []) List.toArray () дает ClassCastException