il y a quelques discussions sur SO sur les méthodes setter retournant "ce" type. Et on dirait que java 7 avait la proposition de méthodes void renvoyant ceci. Mais cette proposition n'a pas pu atteindre les fonctionnalités de Java 7. Je n'ai pas pu trouver si cette proposition est déplacée vers java 8 ou future ou si elle a été complètement rejetée. C'est ça?
Lien de référence - /programming/31584/design-java-and-returning-self-reference-in-setter-methods
Réponses:
Je n'arrive pas à trouver de sources à cela, mais je pense que cette fonctionnalité a été complètement supprimée. Il y a de nombreuses raisons auxquelles je peux penser:
performances - chaque
void
méthode a maintenant un opcode de retour supplémentaire et chaque endroit où cette méthode est appelée a besoin implicitementpop
sauf si elle utilise réellement le chaînage de méthoderétrocompatibilité - la compilation avec cette fonctionnalité rend soudainement le code rétrocompatible car le contrat de chaque
void
méthode a changéBien sûr, cela peut également être implémenté par le compilateur ( méthode d'appel activée
void
? Vous vouliez probablement direthis
, permettez-moi d'ajouter ceci implicitement ), je ne sais pas quels sont les inconvénients de cette approche.la source
Je ne crois pas que cela ait jamais été formellement proposé pour l'incarnation de 2009 du projet COIN. Cette page prétend énumérer toutes les propositions, et je ne vois pas celle qui correspond.
S'il n'avait pas été proposé, il n'aurait pas été pris en considération.
la source