J'ai une liste des balises XML et une méthode pour chacun d'eux dans ma classe, obtenir cette étiquette comme argument et faire son travail. Donc, toutes les méthodes obtiennent la même entrée et je veux parcourir la liste des balises en appelant la méthode appropriée à chaque fois.Comment dois-je mettre en œuvre une carte de chaîne à la méthode en Java?
En Python, je l'ai fait avec un hachage de chaînes (noms de balises) à lambdas (self.methodName()) et je veux le traduire en Java.
Maintenant en Java, je ne peux pas (?) Faire un tel hachage et même ne peux pas utiliser de chaînes (noms de balises) dans une instruction switch (avec chaque branche appelant une certaine méthode). La possibilité d'utiliser une dizaine d'ifs semble horriblement moche et je cherche un meilleur moyen de coder cela.
je pourrais transmettre des données à des méthodes avant aussi: tag 'lambda: self.method (tag)' et ' hash [tagname] (tag) ', maintenant j'ai besoin de 15 autres fichiers ... – Fluffy
Oui, ou vous pourriez avoir quelque chose de lisible et extensible. Par exemple, si vous avez trouvé vos données "Méthode" nécessaires et une deuxième méthode liée, comment le réparer? Pour couronner le tout, mon point de vue était que le fait de le coder comme classes en premier vous montre souvent des trous dans votre modèle d'objet - des objets que vous auriez dû avoir tout le long mais qui ont manqué dans votre conception initiale. –