L'erreur doit se trouver ailleurs.
Un test simple :
import java.lang.reflect.Array;
public class Test {
public static void main(String[] args) {
Number tabNumber[] =
(Number[])Array.newInstance(Integer.class, 5);
Integer tabInteger[] = (Integer[])tabNumber;
System.out.println(tabInteger.length);
}
}
> ...la m�me erreur qui m'indique que mon
> typecasting BaseObject[] -> DataObject[] est interdit
Es-tu sur d'avoir appel� getObjects(DataObject.class) ?
--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
T�l. 01 41 96 96 76
Fax 01 41 96 96 77
M�l [EMAIL PROTECTED]
-----Message d'origine-----
De : Aurelien Mazurie [mailto:[EMAIL PROTECTED]]
Envoy� : vendredi 10 janvier 2003 15:00
� : [EMAIL PROTECTED]
Objet : Re: Typecasting et tableaux
Merci pour toutes ces r�ponses !
Bon, la mauvaise nouvelle: ca ne marche pas plus qu'avant... Snif ! A
l'ex�cution, j'ai strictement la m�me erreur qui m'indique que mon
typecasting BaseObject[] -> DataObject[] est interdit, m�me si
DataObject est descendant de BaseObject et si BaseObject[] ne contient
que des DataObject.
Mais je viens de r�fl�chir � un truc: peut �tre qu'�crire
> BaseObject[] objects =
> (BaseObject[])Array.newInstance(c,subset.size());
> subset.toArray(objects);
> return objects;
> }
n'est-il pas suffisant ?
En effet, le tableau "objects" que je cr�e, et qui va donc re�evoir mes
objets tri�s selon leur type, est bien encore et toujours de type
BaseObject[]. La commande Array.newInstance() me cr�e bien un tableau
du type voulu, mais ce tableau est illico stock� dans objects, et donc
"redevient" un BaseObject[] !?
Or je suis a priori bien oblig� d'indiquer un type pour objects, afin
de passer le r�sultat... Pensez-vous que le probl�me soit l� ? J'ai
essay� de d�clarer objects ainsi:
c[] objects = ...
Mais c, m�me s'il contient l'information du type voulu, est lui-m�me un
objet de type Class et ne convient donc pas.
Aur�lien Mazurie