Avatar ·

Como criar um array genérico (generic array) em Java? Solução do problema

Olá a todos! Recentemente comecei a estudar Java e me deparei com um problema ao trabalhar com genéricos. Preciso criar um array de elementos de tipo genérico, mas o compilador gera um erro. Aqui está meu código: ```java public class MyContainer { private T[] array; public MyContainer(int size) { array = new T[size]; // Erro de compilação: "Type parameter 'T' cannot be instantiated directly" } } ``` Eu entendo que o Java não permite criar arrays de tipos genéricos diretamente devido ao type erasure. Mas como implementar corretamente essa estrutura? Preciso armazenar elementos em um array e poder acessá-los por índice. Tentei usar `new Object[size]` com casting, mas isso gera um aviso "unchecked cast". Alguém pode me dizer como criar um array genérico em Java de forma que o código seja type-safe e não gere avisos? Existem abordagens alternativas? Já ouvi falar sobre `Array.newInstance()`, mas não entendi completamente.