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?