Le stockage de différents types d'éléments dans une Liste en Java

Je suis en train de développer un tableau général chargeur de schéma qui est connu au moment de l'exécution. Cela nécessite d'avoir une classe qui contient une liste des différents types d'éléments et prend en charge diverses méthodes get et set comme getInt(int index), asString(int index), asStringList(int index). Les types d'éléments que je considère sont Integer, Double, String, et List<Integer>, List<Double> et List<String>. Le type réel de chaque élément est connu au moment de l'exécution, et je vais les stocker dans une Liste décrivant son schéma pour la poursuite du traitement.

Ma question est: dois-je conserver cette liste d'éléments dans List<Object> ou List<? extends Object>? ou est-il la meilleure façon de mettre en œuvre une telle classe?

Au moment de l'exécution, List<Whatever> devient List, donc pas de chance ici, vous devez avoir deux ensembles de classes
C'est une très mauvaise odeur de code vous y êtes arrivé.
Roach: j'ai compris la raison pour laquelle j'ai besoin de cette.
Roach: je sais faire les choses mal pourrait être méchant, c'est pour ça que je demande. Pouvez-vous fournir une manière plus propre de faire cela?
Je pense que dasblinkenlight a une assez propre solution qui évite l'ensemble de la liste type de problème. Fondamentalement, il est à l'aide d'un bon principe de la programmation orientée objet: préférer la composition au cours de l'héritage.

OriginalL'auteur keelar | 2013-06-14