Há algumas discussões sobre SO sobre métodos setter retornando "este" tipo. E parece que o java 7 teve a proposta de métodos void retornando isso. Mas esta proposta não conseguiu chegar aos recursos do java 7. Não foi possível encontrar se esta proposta foi movida para o java 8 ou futuro ou se foi completamente descartada. É isso?
Ref link - /programming/31584/design-java-and-returning-self-reference-in-setter-methods
Respostas:
Não consigo encontrar nenhuma fonte disso, mas acredito que esse recurso foi completamente descartado. Existem inúmeras razões pelas quais posso pensar:
performance - cada
void
método agora tem um código de retorno de retorno extra e todo lugar em que esse método é chamado precisa implícito, apop
menos que ele realmente use o encadeamento de métodoscompatibilidade com versões anteriores - compilar com esse recurso repentinamente torna o código incompatível com versões anteriores, porque o contrato de todos os
void
métodos mudouÉ claro que isso também pode ser implementado pelo compilador ( chamando o método
void
? Você provavelmente quis dizerthis
, deixe-me adicionar isso implicitamente ), não sabe quais são as desvantagens dessa abordagem.fonte
Não acredito que isso tenha sido formalmente proposto para a encarnação de 2009 do Projeto COIN. Esta página pretende listar todas as propostas e não consigo ver uma que corresponda.
Se não fosse proposto, não teria sido considerado.
fonte