Review and improve Java code using comprehensive generics best practices that enforce compile-time type safety and enable flexible, reusable APIs.
Prerequisites: Run ./mvnw compile or mvn compile before applying any change. If compilation fails, stop immediately and do not proceed — compilation failure is a blocking condition.
Core areas: Type safety (avoiding raw types, eliminating unsafe casts), code reusability (generic methods and types for multiple type contexts), API clarity (PECS wildcards — ? extends for producers, ? super for consumers), performance optimization (eliminating boxing/casting overhead), diamond operator for type inference, type erasure awareness (type tokens, factory patterns, array creation), generic inheritance...
Úselo cuando necesite revisar, mejorar o refactorizar el código Java para obtener calidad genérica, lo que incluye evitar tipos sin formato, aplicar el principio PECS (Producer Extends Consumer Super) para comodines, usar parámetros de tipo acotados, diseñar métodos genéricos efectivos, aprovechar el operador de diamante, comprender las implicaciones del borrado de tipos, manejar correctamente la herencia genérica, prevenir la contaminación del montón con @SafeVarargs e integrar genéricos con características modernas de Java como registros, tipos sellados y coincidencia de patrones. Parte del proyecto skills-for-java Fuente: jabrena/cursor-rules-java.