The module system allows optional dependencies with the ‘requires static’ clause. Module required this way are accessible at compile time but can be absent at run time.
Posts about concepts of the Java programming language. This does not include posts which merely employ Java to talk about something else.
My first stab at exception handling in Java streams. Explores how to repackage checked exceptions so that they can be thrown without the compiler complaining about it.
The desire for the Elvis operator (null-safe member selection) as a killer feature for terse null-handling echoes through the Java community. It should never be introduced, though, and here’s why.
Reflection wants to break into all code; encapsulation wants to give modules a safe space. How can this stand off be resolved?
Java’s future is full of cool advances: data classes, value types, generics over primitives, pattern matching, etc. Let’s peek into Java’s future!
I’m sure you’ve heard this and that about Java 9: modularity, collection literals (or not?), private methods on interfaces, etc. But if you really want to know all that’s coming, you need this ultimate guide.
Articles about Java streams often repeat a bunch of tropes: streams are for succinctness, ugly mechanics are the norm, anemic pipelines, magic collectors, and weak exception handling. This is a rebuttal to all of them!
There I go babbling about new stream methods and then I forget one: a Stream::iterate overload that produces a finite stream.
More about Java 9 – this time: Optional. We’ll see how the new methods ‘stream()’, ‘or()’, and ‘ifPresentOrElse()’ considerably improve its API.
Java 9 is coming! And it is more than just Jigsaw. One of the many changes are new Stream methods: ‘takeWhile’, ‘dropWhile’, and ‘ofNullable’. For more fun with streams!