Bonjour a tous, et désolé pour le titre non explicite
J'ai une question qui me tarode l'esprit depuis quelques temps;
Tout d'abord, j'ai cherché en vain une methode qui permet de redimensionner un tableau d'objet tout en preservant ces valeurs. Si une fonction tels que celle ci existe, je suis preneur
En tout cas, voilà ce que j'utilise pour redimensionner un tableau d'objet:
Cela marche tres bien, mais comme vous le voyez, chaque fonctions s'applique a un type de donnée bien distinct.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void Salarie_ReDim(int size) { DADSU_Salarie[] ArrayTemp = new DADSU_Salarie[size]; if(size == Salaries.length) return; for(int i = 0; i<(size<Salaries.length?size:Salaries.length); i++) ArrayTemp[i] = Salaries[i]; Salaries = ArrayTemp; }
Or j'ai plusieurs type d'objet, et j'aimerai ne pas repeter ma fonction une fois par type d'objet. J'utilise donc cela, mais sa ne fonctionne pas:
Lorsque j'utilise cela de cette façon:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public static Object[] ReDim (Object[] obj, int count) { Object[] ArrayTemp = new Object[count]; if(count == obj.length) return obj; for(int i = 0; i<(count<obj.length?count:obj.length); i++) ArrayTemp[i] = obj[i]; return ArrayTemp; }
Il compile puis me lance une exception "Invalid TypeCast"Salaries = (DADSU_Salaries)Tools.ReDim(Salaries,Salaries.length+1);
Puis-je savoir pourquoi? Et encore mieux, quelqu'un a-t-il une reponse?
Merci d'avance!
PS: C'est un travail que je doit rendre en toute urgence![]()
Partager