Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
 Аватар для Snickers077
15 / 12 / 7
Регистрация: 12.01.2014
Сообщений: 62

Обобщения. Ошибка generic array creation

13.04.2017, 14:55. Показов 5619. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Имеется обобщенный класс, реализующий соответствующий интерфейс.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class DinQueue<T> implements IGenQ<T> 
{
     private T q[];   // Массив для хранения элементов очереди,
    private int putloc, getloc; // Индексы размещения и извлечения
                                // элементов очереди.
    // создать пустую очередь на основе входного массива
    DinQueue(T[] aDin) {
        q = aDin; // выделить память для очереди
        putloc = getloc = 0;
    }
 
    // поместить символ в очередь
    public void put(T ch)
   
    {
     
        if(putloc==q.length-1)
        {
            // увеличить размер очереди
           //необходимо увеличить исходный массив q[] в два раза
          //при компиляции следующей строчки возникает ошибка 
          //   generic array creation
             T  t[] = new T[q.length * 2];
 
            // скопировать элементы в новую очередь
            for(int i=0; i < q.length; i++)
                t[i] = q[i];
 
            q = t;
        }
 
        putloc++;
        q[putloc] = ch;
      
     
    }
    // извлечь символ из очереди '
    public T get() 
    throws QueueEmptyException{
        if(getloc == putloc) {
           throw new QueueEmptyException();
        }
 
        getloc++;
        return q[getloc];
    }
    
}
Нижеприведенная строка выделяется IDE красным, а при попытке скомпилировать выдает ошибку: "generic array creation"
Java
1
  T  t[] = new T[q.length * 2];
ГуглЕнием получил, что такое объявление не типобезопасно, поэтому не пройдет. Может не так понял.
Подскажите пожалуйста как создать массив в два раза больше исходного?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2017, 14:55
Ответы с готовыми решениями:

Unchecked generic array creation for varargs parameter
Сегодня случайно увидел, что среда разработки обращает внимание на вызов метода с вот такой сигнатурой: final void...

Cannot create a generic array of
Как же мне решить такую проблему? public class Main { public static void main(String args) { MyClass&lt;String&gt; myClass= new...

Cannot create a generic array of T
Выполняю учебное задание. В методе добавления нового элемента в очередь, в случае ее переполнения, необходимо создать новую очередь в два...

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
13.04.2017, 15:00
https://stackoverflow.com/ques... ay-in-java
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2017, 15:00
Помогаю со студенческими работами здесь

Ошибка при установке Repository Creation Utility
При установке Repository Creation Utility на 3 шаге Database Connections Details пишет такие ошибки хотя делаю все по инструкции как здесь...

File creation error - The request is not supported. странная ошибка в xcopy
Копирую файлы xcopy &quot;%userprofile%\Documents&quot; Q:\ /c /y /s Где Q:\ сетевой диск. Выдает такое: File creation error - The request is...

Mathcad ошибка this array index is invalid for this array
хочу вывести новую матрицу но выдаётся ошибка this array index is invalid for this array скорее всего это из-за того, что число строк...

Ошибка при написании программы "This array index is invalid for this array"
Тема:Способы построения моделирующих алгоритмов систем массового обслуживания Не могу получить решение, просто выходит ошибка и все.

Ошибка компиляции "Erorr during creation C:\... /TINY 111112.obj"
TITLE EX_PROG PAGE ,132 STACK SEGMENT PARA STACK 'STACK' DB 64 DUP('STACK ') STACK ENDS DSEG ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru