|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 | ||||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2003 Messages : 3 293 ![]() |
Aujourd'hui :
Code java :
Demain : Code java :
__________________
Vincent Brabant Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : mai 2004 Messages : 792 ![]() |
Bonsoir
Je suis pour mais les cas d'utilisation semblent très limités, non ? Qui irait comparer la classique énumération saison {AUTUMN, SPRING, WINTER, SUMMER} ? yann
__________________
duck and cover |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() |
Bonjour,
Je suis contre. Qu'est ce qui définit la notion d'ordre pour une énumération ? Par exemple si j'ai une énumération des modes de paiement: ESPECES, CHEQUES, CB. Pourquoi ESPECES < CHEQUES me donnerai true (ou false) ????? Si on veut un opérateur de comparaison, il faut l'implémenter et non se baser sur la déclaration. A+ Gronono |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : septembre 2007 Messages : 282 ![]() |
Contre, pour les même raisons que gronono.
|
|
|
00
|
|
|
#5 |
|
Membre émérite
![]() ![]() Inscription : février 2004 Messages : 831 ![]() |
Cela n'invente rien non plus !
http://java.sun.com/j2se/1.5.0/docs/...ml#compareTo(E) La question serait plus de savoir si cet opérateur se basera sur la méthode compareTo() ?
__________________
Netbeans account : nico@share.java.net Merci de ne pas poser de questions techniques par MP |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 175 ![]() |
plutot contre
à mon sens la methode compareTo() à plus de sens que l'operateur > ou < comme le dit gronono la sémantique est plus importante
__________________
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche. (Jacques Rouxel : "Les shadoks") |
|
|
00
|
|
|
#7 | |
|
Membre éprouvé
![]() |
Citation:
Je pense que ce n'est pas une bonne chose qu'une énumération implémente Comparable. on devrait pouvoir le faire à la demande comme pour les autres classes. D'ailleurs à partir de maintenant, je vais systèmatiquement rédefinir cette méthode pour renvoyer une UnsupportedOperationException. A+ Gronono |
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : novembre 2006 Messages : 5 087 ![]() |
Ben, j'aime pas, je trouve que ça ne facilite pas la lisibilité du code.
Je préfère Dans tous les cas, je ne comprends pas l'exemple... quel lien entre mySize, yourSize et Size ? D'un autre côté, je n'ai jamais utilisé d'enum, ça vient certainement de là... |
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Inscription : juillet 2007 Messages : 729 ![]() |
J'ai voté pour, mais en y réfléchissant à deux fois, je suis plutôt contre pour les même raisons que gronono.
|
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Inscription : septembre 2003 Messages : 737 ![]() |
J'ai voté contre, la sémantique de > n'est pas valide pour toutes les enum.
Après je serais bien pour la surcharge d'opérateur mais c'est un autre débat. |
|
|
00
|
|
|
#11 |
![]() ![]() Yann D'IsantoIngénieur développement logiciels Inscription : février 2005 Messages : 2 642 ![]() |
Je suis contre pour les mêmes raisons que celles énoncées précédemment.
Cependant, je serais d'accord si cette fonctionnalité était optionnelle. Pouvoir comparer des enums est intéressant, mais cela dépend de leur implémentation et il me semble donc primordiale que ce soit le développeur qui spécifie explicitement si une enum est comparable (via un mot clé ou un implements Comparable ou autre).
__________________
Je ne répondrai à aucune question technique par MP. Pensez aux Tutoriels et aux FAQs avant de poster Enfin, quand une solution a été trouvée à votre problème pensez au tag ![]() Cours Dvp : http://ydisanto.developpez.com Blog : http://yann-disanto.blogspot.com/ Page perso : http://yann-disanto.fr |
|
00
|
|
|
#12 |
![]() ![]() |
Une lisibilité bizarre pour cette option.
__________________
Cordialement, elitost(Eric Reboisson) SpringSource Certified Spring Professional Certifié SCWCD J2EE 5.0 Certifié SCJP J2SE 5.0 Certifié ITIL Foundation Responsable : FAQ Maven 2 , FAQ SCM Autres : Site web Developpez , Mon site personnel , Mon CV Twitter : Suivez moi sur Twitter |
|
00
|
|
|
#13 | |
|
Membre Expert
![]() ![]() Inscription : juillet 2006 Messages : 765 ![]() |
Citation:
Plus j'avance dans les propositions, plus je suis épaté par les contres-arguments soulevés. Ca sent le vécu quand même ![]()
__________________
Robusta Web Library : Clients RESTful open source pour Java, Android & GWT. API Simple et Productive. Avec style. |
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Ingénieur développement logiciels Inscription : mai 2004 Messages : 792 ![]() |
bonsoir,
La structure de contrôle foreach n'a pas de Javadoc et on est bien content de pouvoir l'utiliser (pourtant la classe Iterable et la méthode iterator ont une javadoc). Le tout est de connaitre le mécanisme qu'il y a derrière ! Et la javadoc de compareTo de la classe Enum est claire ! [edit] et en fait j'aimerai bien que cette fonctionnalité (sauf pour le == On pourrait, par exemple comparer des objets de type date le plus naturellement du monde. [/edit] yann
__________________
duck and cover |
|
|
00
|
|
|
#15 | ||||
|
Membre éprouvé
![]() |
En fait, il y a deux sujets différents dans cette proposition.
Si l'opérateur < revient à faire .compareTo alors je suis plutot pour. On pourrait ainsi comparé deux objets et je pense que c'est même plus lisible. Par exemple si j'ai un objet Personne qui implémente Comparable alors je peux faire : Code :
Code :
A+ Gronono |
||||
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2006 Messages : 2 344 ![]() |
Ca risque de devenir ambigüe. Je suis contre également.
__________________
Ma page dvp.com
|
|
|
00
|
|
|
#17 |
![]() ![]() Inscription : juillet 2002 Messages : 346 ![]() |
Pour mais à condition que ce soit basé sur compareTo comme on le fait déjà pour le tri automatique des Collection.
Ça reviendrait à ajouter un compareTo dans la class Object (comme le equals) qui serait par défaut une comparaison du hashCode, on aurrait ensuite les comparateurs >, <, <=, >= qui se baserait sur la valeur retourné par le compareTo. En fait, c'est quand même bien compliqué donc j'hésite ... |
|
|
00
|
|
|
#18 | ||
|
Membre habitué
![]() |
Pour moi ça craint aussi. Faut pas vouloir faire avec un type énuméré ce qu'ont ferait avec un entier.
Code :
|
||
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 1 660 ![]() |
Contre. En fait, c'est le retour des méthodes operator du C++, avec leur cortège de défauts. Le principal : la yntaxe créé la confusion, et on a tendance à y mettre un contenu implicite qui n'est peut-être pas le contenu de l'operateur. Les bénéfices étant par ailleurs plutôt faibles (écriture un peu plus compacte), je vote contre sans hésiter.
__________________
Les brevets ? Le type qui a inventé l'eau chaude doit être grave blindé de thunes ! |
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() ![]() Inscription : février 2004 Messages : 1 833 ![]() |
Pour moi c'est une forme de surcharge des opérateurs, qui a été refusée dès le début de java, donc pourquoi s'y mettre maintenant ? Les interfaces de Comparator et Comparable sont utiles et bien faites, et trouve ça plus modulaire : on choisit nous même le Comparator pour trier une liste, par exemple. Cette proposition incite les développeurs à fournir des classes qui se basent directement sur l'opérateur.
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com