Agent skill

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 factory methods, applying text blocks, var inference, or leveraging Java 25 features like flexible constructor bodies and module import declarations. Part of the skills-for-java project

Stars 350
Forks 63

Install this agent skill to your Project

npx add-skill https://github.com/jabrena/cursor-rules-java/tree/main/skills/141-java-refactoring-with-modern-features

Metadata

Additional technical details for this skill

author
Juan Antonio Breña Moral
version
0.14.0

SKILL.md

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
  • Optional for null-safe APIs
  • java.time API (replacing Date/Calendar)
  • Default interface methods, var type 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 compile or mvn compile before applying any changes
  • SAFETY: If compilation fails, stop immediately — do not proceed until the project compiles successfully
  • VERIFY: Run ./mvnw clean verify or mvn clean verify after applying improvements
  • BEFORE APPLYING: Read the reference for detailed good/bad examples, constraints, and safeguards for each modern Java feature

When to use this skill

  • Review Java code for modern Java development
  • Apply best practices for modern Java development in Java code

Reference

For detailed guidance, examples, and constraints, see references/141-java-refactoring-with-modern-features.md.

Expand your agent's capabilities with these related and highly-rated skills.

jabrena/cursor-rules-java

513-frameworks-micronaut-db-migrations-flyway

Use when you need to add or review Flyway database migrations in a Micronaut application — micronaut-flyway, db/migration scripts, flyway.datasources.* configuration, and alignment with JDBC or Micronaut Data. Part of the skills-for-java project

350 63
Explore
jabrena/cursor-rules-java

014-agile-user-story

Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. Part of the skills-for-java project

350 63
Explore
jabrena/cursor-rules-java

502-frameworks-micronaut-rest

Use when you need to design, review, or improve REST APIs with Micronaut — including @Controller routes, HTTP status codes, DTOs, Bean Validation, exception handlers, pagination, idempotency, ETag/If-Match, caching headers, versioning, contract-first OpenAPI (OpenAPI Generator), optional runtime OpenAPI via micronaut-openapi, and security annotations. Part of the skills-for-java project

350 63
Explore
jabrena/cursor-rules-java

114-java-maven-search

Covers Maven Central search (Search API, maven-metadata.xml, artifact URLs) and project-local update reports via versions-maven-plugin (display-property-updates, display-dependency-updates, display-plugin-updates). Use when finding or verifying coordinates, browsing Central, or checking what newer versions apply to the user’s pom.xml. Part of the skills-for-java project

350 63
Explore
jabrena/cursor-rules-java

323-frameworks-spring-boot-testing-acceptance-tests

Use when you need to implement acceptance tests from a Gherkin .feature file for Spring Boot applications — including finding scenarios tagged @acceptance, implementing happy path tests with TestRestTemplate, @SpringBootTest, Testcontainers with @ServiceConnection for DB/Kafka, and WireMock for external REST stubs. Requires .feature file in context. Part of the skills-for-java project

350 63
Explore
jabrena/cursor-rules-java

200-agents-md

Use when you need to generate an AGENTS.md file for a Java repository — covering project conventions, tech stack, file structure, commands, Git workflow, and contributor boundaries — through a modular, step-based interactive process that adapts to your specific project needs. Part of the skills-for-java project

350 63
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results