Excellent book about functional programming in java.
So far I´ve encountered programming books explaining java with a little bit of ¨functional programming¨. This book is quite the opposite! You will barely recognize ¨standard constructs¨, because you´ll write your own Functions, Results, Lists, Trees, Optionals, Streams, Actors,... and use them in a functional way. I´ve already tried this in Scala with mixed feelings. Scala is so complex, because there is multiple ways how to do things. Java tries to (slowly) adopt only successful (popular) ideas, but the result is incomplete and laughable. This book clearly confirms this feeling.
I´m still surprised that I´ve not met functional programming during my university study, because it´s so rigorous, theoretical, simple but hard to understand. If I was a PhD. student looking for something to teach some computer-science undergraduates, I would pick up this book ;-)
It will probably not improve your java programs, as the subtitle of this book says, but it will definitely change the way you think, which is even more important.