☕ 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
3
14
749
☕ Duration and Period Calculate time differences with type-safe Duration and Period. Millisecond Math → Duration / Period (JDK 8+) 🔗 javaevolved.dev/datetime/dur… #Java #JavaEvolved
2
6
873
☕ String.formatted() Call formatted() on the template string itself. String.format() → formatted() (JDK 15+) 🔗 javaevolved.dev/strings/stri… #Java #JavaEvolved
2
18
1,274
☕ Stream.mapMulti() Emit zero or more elements per input without creating intermediate streams. flatMap + List → mapMulti() (JDK 16+) 🔗 javaevolved.dev/streams/stre… #Java #JavaEvolved
2
4
30
1,945
☕ Modern HTTP client Use the built-in HttpClient for clean, modern HTTP requests. HttpURLConnection → HttpClient (JDK 11+) 🔗 javaevolved.dev/io/http-clie… #Java #JavaEvolved
4
20
1,719
☕ 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
3
31
2,041
☕ CompletableFuture chaining Chain async operations without blocking, using CompletableFuture. Blocking Future.get() → CompletableFuture (JDK 8+) 🔗 javaevolved.dev/concurrency/… #Java #JavaEvolved
4
15
1,445
☕ 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
4
18
1,321
☕ Scoped values Share data across call stacks safely without ThreadLocal pitfalls. ThreadLocal → ScopedValue (JDK 25+) 🔗 javaevolved.dev/concurrency/… #Java #JavaEvolved
1
4
20
1,382
☕ Map.entry() factory Create map entries with a clean factory method. SimpleEntry → Map.entry() (JDK 9+) 🔗 javaevolved.github.io/collec… #Java #JavaEvolved
2
10
878
Java. Evolved. retweeted
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
2
2
10
1,211
Java. Evolved. retweeted
Introducing the @javaevolved Agent Plugin. It detects your project's real Java target, then keeps AI guidance within the final features and APIs that version supports. #Copilot #Claude #Codex javaevolved.github.io/agent-…
6
10
38
2,548
☕ 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
4
17
1,345
☕ Stream.toList() Terminal toList() replaces the verbose collect(Collectors.toList()). Collectors.toList() → .toList() (JDK 16+) 🔗 javaevolved.github.io/stream… #Java #JavaEvolved
1
2
15
882
☕ ExecutorService auto-close Use try-with-resources for automatic executor shutdown. Manual Shutdown → try-with-resources (JDK 19+) 🔗 javaevolved.github.io/concur… #Java #JavaEvolved
2
14
949
☕ Spring Null Safety with JSpecify Spring 7 adopts JSpecify annotations, making non-null the default and reducing annota… Spring @NonNull/@Nullable → JSpecify @NullMarked (JDK 17+) 🔗 javaevolved.github.io/enterp… #Java #JavaEvolved
1
3
25
2,334
☕ Helpful NullPointerExceptions JVM automatically tells you exactly which variable was null. Cryptic NPE → Detailed NPE (JDK 14+) 🔗 javaevolved.github.io/errors… #Java #JavaEvolved
2
16
6,203
☕ Record patterns (destructuring) Destructure records directly in patterns — extract fields in one step. Manual Access → Destructuring (JDK 21+) 🔗 javaevolved.github.io/langua… #Java #JavaEvolved
6
25
6,184
☕ 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
2
16
1,353
☕ Pattern matching in switch Replace if-else instanceof chains with clean switch type patterns. if-else Chain → Type Patterns (JDK 21+) 🔗 javaevolved.github.io/langua… #Java #JavaEvolved
4
21
1,096