riando uma matriz de coleções genéric

Na verdade, a pergunta deve ser

Creating an array of generic anything.

Por que o compilador não pode cuidar disso?

O seguinte seria sinalizado como um erro - não é possível criar uma matriz genéric

List<MyDTO>[] dtoLists = {new ArrayList<MyDTO>(), anExistingDtoList};

Para superar isso, eu preciso

List<MyDTO>[] dtoLists = (List<MyDTO>[])Array.newInstance(ArrayList.class, 2);
dtoLists[0] = new ArrayList<MyDTO>();
dtoLists[1] = anExistingDtoList;

ntão, por que o compilador não pode converter o primeiro caso no segund

Eu percebo que os genéricos são determinados em tempo de compilação e não em tempo de execução, enquanto matrizes são em tempo de execução e, portanto, precisam de um tipo determinado para criar uma matri

Quais são as barreiras tecnológicas / lógicas que os criadores de compiladores encontrariam para impedir que eles pudessem implementar iss

A questão é puramente filosófica, referente à ortogonalidade da linguagem? Se sim, como esse comportamento violaria a ortogonalidade da linguagem?

É uma questão de complexidade? Explique a complexidade.

Espero que as respostas à minha pergunta me permitam entender melhor o comportamento do compilador java quando se trata de genérico

ota @ Side: vamos parar de ser gatilho feliz. As respostasArray da lista genérica não responda minha pergunta. Por que os compiladores não podem executar espontaneamente a conversão?

questionAnswers(3)

yourAnswerToTheQuestion