Pojawił się nowy szum z długo oczekiwanymi wyrażeniami lambda w Javie 8; co 3 dni pojawia się z nimi kolejny artykuł o tym, jak fajni są.
O ile rozumiem wyrażenie lambda jest niczym więcej niż anonimową klasą wewnętrzną z jedną metodą (przynajmniej na poziomie kodu bajtowego). Poza tym ma jeszcze jedną fajną funkcję wnioskowania o typie, ale uważam, że równoważność tego można uzyskać na pewnym poziomie za pomocą generycznych (oczywiście nie w tak zgrabny sposób, jak w przypadku wyrażeń lambda).
Wiedząc o tym, czy wyrażenia lambda przyniosą coś więcej niż tylko słodzenie syntaktyczne w Javie? Czy mogę tworzyć mocniejsze i bardziej elastyczne klasy lub inne konstrukcje obiektowe z wyrażeniami lambda, których nie można zbudować przy użyciu bieżących funkcji językowych?
this
na OuterClass.this
jest częścią procesu odsławiania wyrażeń lambda na anonimową klasę.