Java 8 in Action
The authors approach in an easy way the main features from Java8. You will learn with details why these big changes in Java8 are important not only to make our life easier but why in terms of competitive was essential see a more functional flavor in the language.
The authors build brick by brick the idea of behavior parameterization and how it links when using lambdas. For me it was very good to reinforce where are the possible scenarios to use lambdas/functional interfaces.
When talking about streams, you will learn in a consistent way how to build complex pipelines and how it’s easier to read sometimes when comparing with declarative statements like for or while. You will learn how to handle parallel data and will consume some material about immutability.
The authors also deconstruct things like the introduction of Optional and most important, when to use it. You need to know your domain to have a clue when things are mandatory to exist or when is necessary a default value or something like this.
It was good to understand in a decent way the changes with the Date API and why it was necessary. Now it’s easier to work just with dates or time.
The conclusion for me is that if you are still using Java7 or just the basics of Java8 (like forEach), this book it will help improving not only your java skills but also your developer skills, learning a little bit more of the functional paradigm.