This book focuses on Java 8-9 features for the most part. And this is the first strange thing I've noticed.
I agree, java 8 brought many changes, like pretty much functional programming. This is probably the most significant change out there. And I enjoyed the details about that. Aside from that, Streams API, interfaces, and Flow API. Those are good parts.
But, since the focus was on those specific versions, they became outdated so fast. At the time I wrote this review, Java 22 was released. So, that's the first problem.
Another one is that book sometimes is too theoretical and therefore contains too much water. I feel like it could be at least 2-3 times smaller without losing its main ideas.
The last thing is a comparison with Scala, why is it needed? I mean, if we are talking about functional programming, of course, Scala is better. I don't think Java would ever go that far, esp with backward compatibility. So, I didn't get that.
Overall, interesting book that covers quite a lot of functional Java programming, worth reading at least those parts.