Ma version est plus sûre et plus facile à maintenir puisque si l'une des classes n'existe pas ou que tu fais une faute de frappe dans le nom de la classe, le code ne compilera pas. Imagine que tu fais un refactor automatique afin de renommer ta classe "Autres" en "Divers" plus tard par exemple, si tu encodes le nom de la classe en dur sous forme de chaîne de caractères le compilateur ne dira rien alors que ta chaîne sera toujours "Autres" au lieu de "Divers" et boum ça plantera plus tard à l'exécution. Tandis que si tu utilises Autres.class et que tu fais le même refactor, il sera automatiquement modifié en Divers.class donc plus facile à maintenir et pas de surprise à l'exécution.
De plus ma version est plus rapide puisque l'opération consistant à rechercher la classe correspondant à un nom donné ne doit plus être effectuée à l'exécution. On prend juste la classe dans le tableau et on l'instancie.
Message édité par cbeyls le 18-11-2009 à 05:23:19