Identify and apply functional programming principles in Java to improve immutability, expressiveness, and maintainability.
Prerequisites: Run ./mvnw compile or mvn compile before applying any changes. If compilation fails, stop immediately — do not proceed until the project compiles successfully. Also verify that the project's maven-compiler-plugin source/target supports the Java features being used.
Core areas: Immutable objects and Records (JEP 395), pure functions free of side effects, functional interfaces (Function, Predicate, Consumer, Supplier) and custom @FunctionalInterface types, lambda expressions and method references, Stream API (filter/map/reduce pipelines, parallel streams, toUnmodifiable collectors), Optional idiomatic usage (map/flatMap/filter/orElse over isPresent()+get()), function compositi...
Java で関数型プログラミングの原則を適用する必要がある場合に使用します。これには、不変オブジェクトとレコードの作成、純粋関数、関数インターフェイス、ラムダ式、ストリーム API パイプライン、null 安全性のオプション、関数合成、高階関数、instanceof と switch のパターン マッチング、制御された階層のシールされたクラス/インターフェイス、カスタム操作用のストリーム ギャザラー、カリー化/部分アプリケーション、効果境界分離、同時安全な関数パターンが含まれます。 Skills-for-Java プロジェクトの一部 ソース: jabrena/cursor-rules-java。