Aujourd'hui, je rédigeais un peu lourd de code utilisant la réflexion, et je suis tombé sur ce comportement, je ne peux pas expliquer: pourquoiPourquoi la conversion d'un type [] en classe [] lance une exception ClassCastException?
Type[] types = ((ParameterizedType)m.getGenericReturnType()).getActualTypeArguments();
Class[] c = (Class[])types;
Jeter un ClassCastException, lorsque vous parcourez ce même tableau et coulée chaque élément, à savoir
for(Type t : types) {
Class c = (Class)t;
}
réussit? Je veux dire que si le moulage d'un seul élément dans une autre classe est possible, pourquoi la coulée entre des matrices de même type n'est-elle pas également possible?
Il y a une raison, mais je ne peux pas sembler probablement trouver un ...
Peut-être que cela aide: http://stackoverflow.com/q/395030/61855 – theomega