Bonjour !
J'écris un programme qui doit permettre de concaténer des informations contenus dans un tableau. Le souci que j'ai c'est qu'à l'époque où j'ai commencé à l'écrire, j'utilisais des Vector<Vector> pour stocker les données de mes tableaux. Depuis je suis passé en Java 1.5-1.6 et j'ai bien vu qu'il était recommandé d'utiliser des ArrayList plutot que des Vector.
Le problème qui se pose maintenant c'est que j'ai écris un certain nombre de méthodes et de fonctions qui prennent en paramètres des ArrayList et avec mes tableaux Vector<Vector>, je ne peux plus les passer en paramètres à mes fonctions. J'ai bien écrit une méthode permettant de stocker le contenu d'un vector dans un ArrayList mais bon, compte tenu du volume de données que j'aurai à traiter, cela peut vite s'avérer lourd (et très lent). J'ai bien sur penser à l'utilisation de type paramétré mais dans ma méthode je suis coincé.
Ce que j'aimerai faire c'est créer une fonction qui prenne en paramètre soit Vector<Vector<Object>> tableau, soit ArrayList<ArrayList<Object>> tableau ; cela me permettrait de me servir indifféremment de mes nouveaux tableaux et des anciens
Ce que j'ai essayé de faire mais ca ne fonctionne pas
public <T extends AbstractList<Object>> T<T> maFonction( T<T> tableau){
/* Si je veux faire un new par exemple pour créer un nouvel objet de type T pour ajouter une nouvelle ligne dans le tableau*/
T nouvelleLigne = new T() // J'ai une erreur "Cannot instantiate AbstractList"
}
Auriez vous une idée de la classe que je dois mettre apres le extends pour que les types Vector et Arraylist soit accepter ?