☕ Optional.orElseThrow() without supplier
Use Optional.orElseThrow() as a clearer, intent-revealing alternative to get().
get() or orElseThrow(supplier) → orElseThrow() (JDK 10+)
🔗 javaevolved.dev/errors/optio…#Java#JavaEvolved
☕ Spring Framework 7 API Versioning
Replace duplicated version-prefixed controllers with Spring Framework 7's native API ver…
Manual URL Path Versioning → Native API Versioning (JDK 17+)
🔗 javaevolved.dev/enterprise/s…#Java#JavaEvolved
☕ Markdown in Javadoc comments
Write Javadoc comments in Markdown instead of HTML for better readability.
HTML-based Javadoc → Markdown Javadoc (JDK 23+)
🔗 javaevolved.dev/language/mar…#Java#JavaEvolved
Started 7 @GitHubCopilot Cloud Coding Agents in parallel, all by simply assigning them to Copilot.
The @javaevolved project has been adjusted to welcome PRs in parallel with near zero conflicts.
javaevolved.dev
☕ String.lines() for line splitting
Use String.lines() to split text into a stream of lines without regex overhead.
split("\\n") → lines() (JDK 11+)
🔗 javaevolved.github.io/string…#Java#JavaEvolved
☕ Record patterns (destructuring)
Destructure records directly in patterns — extract fields in one step.
Manual Access → Destructuring (JDK 21+)
🔗 javaevolved.github.io/langua…#Java#JavaEvolved
☕ Static members in inner classes
Define static members in inner classes without requiring static nested…
Must use static nested class → Static members in inner classes (JDK 16+)
🔗 javaevolved.github.io/langua…#Java#JavaEvolved