Modern Java Development Guidelines (Java 8+)
Identify and apply modern Java (Java 8+) refactoring opportunities to improve readability, maintainability, and performance.
What is covered in this Skill?
- Lambda expressions and method references (over anonymous classes)
- Stream API for declarative collection processing
- for null-safe APIs
- API (replacing /)
- Default interface methods, type inference
- Unmodifiable collection factory methods (, , )
- Text blocks for multi-line strings
- Java 25 Flexible Constructor Bodies (JEP 513)
- Java 25 Module Import Declarations (JEP 511)
Scope: The reference is organized by examples (good/bad code patterns) for each core area. Apply recommendations based on applicable examples.
Constraints
Before applying any modern Java refactoring, ensure the project compiles. If compilation fails, stop immediately — do not proceed until the project compiles successfully. After applying improvements, run full verification.
- MANDATORY: Run or before applying any changes
- SAFETY: If compilation fails, stop immediately — do not proceed until the project compiles successfully
- VERIFY: Run or after applying improvements
- BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each modern Java feature
- EDGE CASE: If request scope is ambiguous, stop and ask a clarifying question before applying changes
- EDGE CASE: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance
When to use this skill
- Review Java code for modern Java development
- Apply best practices for modern Java development in Java code
- Modernize Java code with records pattern matching or switch expressions
- Replace legacy idioms with modern Java features
- Adopt Java 8+ language features safely
Workflow
- Compile project before modernization
Run
or
and stop immediately if compilation fails.
- Read modern-Java reference and identify candidates
Read
references/141-java-refactoring-with-modern-features.md
and identify high-value opportunities to adopt modern Java features.
- Apply modern Java refactorings
Refactor incrementally using appropriate language/library features while preserving behavior and readability.
- Verify with full build
Run
or
after applying improvements.
Reference
For detailed guidance, examples, and constraints, see references/141-java-refactoring-with-modern-features.md.