java-language
Java Language Patterns
Priority: P0 (CRITICAL)
Modern Java (21+) standards for concise, immutable, and expressive code.
Implementation Guidelines
- Records: Use record for immutable DTOs/Value Objects. Records auto-generate equals, hashCode, toString. Avoid Lombok @Data on Pojos.
- Local Variables: Use
varfor inferred types. Explicitly type interface variables. - Switch: Use Switch Expressions (->) and Pattern Matching over complex if/else chains.
- Text Blocks: Use
""" (Text Blocks)for JSON, SQL, or multi-line strings. - Pattern Matching: Use
instanceofwith pattern binding:if (obj instanceof String s). - Sealed Classes: Use sealed interface/class with permits clause for domain-driven restricted hierarchies. Switch expressions are then exhaustive switch (compiler-verified).
- Collections: Use
List.of(),Map.of(), andSet.of()for immutable collections. - Streams: Use
stream()pipelines for functional transformations. Use.toList()(Java 16+). - Optional: Utilize
Optional<T>for return types. Use.ifPresentOrElse()or.orElseThrow(). - Virtual Threads: Favor
Executors.newVirtualThreadPerTaskExecutor()for I/O-heavy workloads.
Anti-Patterns
- No Nulls: Return Optional or empty collections; avoid null parameters.
- No Raw Types: Always use generics; never use raw List or Map.
- No Old Switch: Use switch expressions (->); avoid fall-through.
- No Manual get/set: Use Records or value objects instead.
- No synchronized blocks: Use java.util.concurrent or Virtual Threads instead.
References
More from hoangnguyen0403/agent-skills-standard
skill creator
Standards for creating new High-Density Agent Skills with optimal token economy.
181swift swiftui
Standards for State Management, View Lifecycle, and Property Wrappers
1swift language
Standards for Optionals, Protocols, Extensions, and Type Safety
1java-concurrency
Implement modern concurrency with Virtual Threads and Structured Concurrency in Java. Use when implementing Java Virtual Threads (Java 21), Structured Concurrency with StructuredTaskScope, CompletableFuture pipelines, or debugging race conditions. (triggers: **/*.java, Thread, Executor, synchronized, lock, CompletableFuture, StructuredTaskScope, VirtualThread, AtomicInteger, async, race condition)
1dart tooling & ci
Standards for analysis, linting, formatting, and automation.
1dart language patterns
Modern Dart standards (3.x+) including null safety and patterns.
1