На SO есть пара дискуссий о методах установки, возвращающих тип "this". И похоже, что в Java 7 было предложение void методов, возвращающих это. Но это предложение не может сделать это с функциями Java 7. Я не мог найти, было ли это предложение перенесено на Java 8 или будущее или было полностью отклонено. Это?
Ссылка на ссылку - /programming/31584/design-java-and-returning-self-reference-in-setter-methods
Ответы:
Я не могу найти никаких источников этого, но я считаю, что эта функция была полностью удалена. Есть много причин, о которых я могу думать:
производительность - у каждого
void
метода теперь есть дополнительный код операции возврата, и каждое место, где вызывается этот метод, нуждается в неявном использовании,pop
если только он не использует цепочку методовобратная совместимость - компиляция с этой функцией внезапно делает код обратно несовместимым, потому что контракт каждого
void
метода изменилсяКонечно, это также может быть реализовано компилятором ( вызывая метод
void
? Вы, вероятно, имели в видуthis
, позвольте мне добавить это неявно ), не знаю, каковы недостатки этого подхода.источник
Я не верю, что это когда-либо было официально предложено для воплощения проекта COIN 2009 года. Эта страница предназначена для перечисления всех предложений, и я не вижу ни одного, которое соответствует.
Если бы это не было предложено, это не было бы рассмотрено.
источник