141-java-refactoring-with-modern-features
Use when you need to refactor Java code to adopt modern Java features (Java 8+) — including migrating anonymous classes to lambdas, replacing Iterator loops with Stream API, adopting Optional for null safety, switching from legacy Date/Calendar to java.time, using collection fact
What it does
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
Optionalfor null-safe APIsjava.timeAPI (replacingDate/Calendar)- Default interface methods,
vartype inference - Unmodifiable collection factory methods (
List.of(),Set.of(),Map.of()) - 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
./mvnw compileormvn compilebefore applying any changes - SAFETY: If compilation fails, stop immediately — do not proceed until the project compiles successfully
- VERIFY: Run
./mvnw clean verifyormvn clean verifyafter 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
Workflow
- Compile project before modernization
Run ./mvnw compile or mvn compile 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 ./mvnw clean verify or mvn clean verify after applying improvements.
Reference
For detailed guidance, examples, and constraints, see references/141-java-refactoring-with-modern-features.md.
Capabilities
Install
Quality
deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,633 chars)