Java: возврат массива необработанного типа, но вместо массива параметризованного типа, указанного в заголовке.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java: возврат массива необработанного типа, но вместо массива параметризованного типа, указанного в заголовке.

Сообщение Anonymous »

Код: Выделить всё

protected Collection createBucket() {
return new LinkedList();
}

/**
* Returns a table to back our hash table. As per the comment
* above, this table can be an array of Collection objects
*
* BE SURE TO CALL THIS FACTORY METHOD WHEN CREATING A TABLE SO
* THAT ALL BUCKET TYPES ARE OF JAVA.UTIL.COLLECTION
*
* @param tableSize the size of the table to create
*/
private Collection[] createTable(int tableSize) {
Collection[] table = new Collection[tableSize];
for (int i = 0; i < tableSize; ++i) {
table[i] = createBucket();
}
return table;
}
Для метода createTable() тип возвращаемого значения — Collection[], но в конечном итоге возвращаемый функцией результат был Collection[] и этот фрагмент кода все еще можно успешно скомпилировать и выполнить. Мой вопрос заключается в том, что компилятор выполняет проверку типа на основе статического типа, но статический тип таблицы Collection[] не соответствует возвращаемому типу Collection[], почему код все еще можно скомпилировать?
Я прочитал разные вопросы и понял тот факт, что если используется необработанный тип, то дженерики отключаются. Java предполагает, что общий тип — Object, поэтому я подумал, что таблица должна быть Collection, и поэтому код тоже не будет скомпилирован, однако он все еще работает, поэтому может ли кто-нибудь исправить мое понимание?

Подробнее здесь: https://stackoverflow.com/questions/787 ... terized-ty
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Возврат строки и возврат массива в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Запретить Byte Buddy повторять аргументы типа при реализации параметризованного типа
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Строка, определенная в заголовке A, не определена в заголовке B [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Инициализация параметризованного конструктора для динамического массива
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Инициализация параметризованного конструктора для динамического массива
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»