6
votes

Y a-t-il des java énumé des pays et des langues européens?

Y a-t-il des Java (> 5) Enum pour la liste des pays et des langues européens quelque part? S'il n'y en a pas, je ne les écrirai probablement pas de cette liste: http: // www .nationsonline.org / oneworld / européen_languages.htm

Mais si je pouvais éviter ce fardeau, ce serait génial!

PS: Enfin, je commence à utiliser le service Web de Geonames à geonames.org. Pour les pays, j'utilise cet extrait à Groovy: xxx


3 commentaires

Pourquoi voudriez-vous une énumération de 50 objets? Je ne pense pas que ce sera facile à entretenir ou à utiliser. Pouvez-vous détailler vos raisons pour vouloir un énumé?


Un Java Enum dans ce champ serait de trop statique nature.


Merci à tous les gars pour vos idées ... Je pense que j'oublierai l'idée d'utiliser un énumé pour cela et de stocker des pays et leurs langues en tant qu'objets de domaine de mon application ...


4 Réponses :


15
votes

Il est peu probable que les concepteurs-cadres professionnels comprennent une telle énorme dans leur bibliothèque, car l'ensemble des pays (et l'ensemble des langues officielles politiquement reconnues) change tout le temps. Vous devez soit casser la compatibilité en arrière, rendre l'énumé plutôt inutile pour des logiciels censés travailler plus de quelques années, ou que vous devriez garder des pays et des pays non plus reconnus et plus reconnus dans l'énum. .


5 commentaires

Je conviens que cela ne devrait pas être dans un cadre professionnel. Je me demandais simplement si quelqu'un, quelque part, a un de ceux de ses propres bibliothèques, juste pour commencer avec ...


Vous manquez le point: les énumes sont censées être éternelles. les pays changent.


Rien n'est pour toujours, mec. Pouvons-nous avoir une énumération de planètes dans ce système solaire? Selon Joshua Bloch, oui - il a-t-il dans son livre comme les meilleurs conseils pour Java. Selon vous, NOOOOOOO.


Je pense que les planètes de ce système solaire sont beaucoup moins susceptibles de changer que l'ensemble des pays reconnus politiquement reconnus en Europe.


Je veux dire à partir de maintenant. Jusqu'en 2006, il n'y avait pas de définition officielle de la planète, maintenant il y a .



1
votes

au moins j'aurais autogénérer la classe Enum de cette URL. Vous pouvez analyser le HTML, récupérer les valeurs et écrire un fichier Java qui définit l'ENUM.

Et chaque fois que le contenu de cette URL change, vous pouvez revenir à l'autogénérateur et créer une nouvelle classe Enum.

Mais soyez au courant - chaque changement de l'ENUM a un potentiel d'introduction d'erreurs dans le reste du code.


0 commentaires

7
votes

Peut-être locale.getisocountries () et locale.getisolanguages ​​() va vous aider.


1 commentaires

Java.Util.Locale ne vous donnera qu'une dépendance sur le cadre Java et lorsque les pays changent, vous n'obtiendrez pas une mise à jour avant la prochaine version mineure Java.



8
votes

Il n'y a rien de mal à utiliser Enum pour stocker des données assez stables. Que pouvez-vous faire d'autre, stockez-le en XML? Comment ça va mieux? Donc, vous n'avez pas à recompiler (ce qui est un Huuuge Hassle)? En quelle année vivons-nous?

ou stockez-le dans la base de données; Lorsqu'un nouveau pays est né, nous devons simplement insérer une ligne dans la base de données et la demande intelligemment écrite, le chargera et l'utilisera immédiatement - sans redémarrer l'application! Hourra.

Même pour l'Europe, c'est une telle overcive. Je suis sûr qu'ils ne changent pas de pays plus fréquemment que nous redéployons nos applications, qui, dans une entreprise moderne, se produit au moins une fois par semaine.

rien n'est pour toujours, mec. Pouvons-nous avoir une énumération de planètes dans ce système solaire? Selon Joshua Bloch, oui - il a-t-il dans son livre comme les meilleurs conseils pour Java. Selon vous, NOOOOOOO.

Eh bien, au moins, nous ne pouvions que découvrir de nouvelles planètes et nous ne pouvons pas détruire de vieilles planètes (dans un avenir prévisible), donc une planète Enum va bien en ce qui concerne la compatibilité, non?

dis que à PLUTO.


1 commentaires

Merci pour le commentaire, je me sens moins seul dans le monde des décisions de conception "pas si parfaites qui peuvent faire le travail de toute façon" :-)