Для начала есть несколько сообщений на самой SO, которые объясняют, почему Generics и массивы не смешиваются в Java.
Как и общие массивы в Java
Но мой вопрос: если это так, почему я получаю предупреждение в Eclipse, когда я делаю что-то вроде следующего и как избавиться от этого предупреждающего сообщения.
private RotatingQueue<RotatingQueueData> rQueue[] = new RotatingQueue[15];
Предупреждение: несколько маркеров в этой строке - тип безопасности: выражение типа RotatingQueue [] требует необработанного преобразования для соответствия RotatingQueue []
Невозможно создать массив параметризованного типа. Следовательно, вы должны жить с предупреждением, но можете игнорировать его так:
@SuppressWarnings("unchecked")
List<String> lists[] = new List[15];
Я не знаю другого способа сделать это, если вы попытаетесь продолжить работу с List<String>
.
new RotatingQueue<RotatingQueueData>[15]
?new RotatingQueue<>[15]
? (Java 7 вышла, даже Java 8)