用途:为 Java 21+ 项目提供现代语言特性的编码规范,目标是写出简洁、不可变、表达力强的代码。资料将其优先级标为 P0(关键)。
主要能力与规范要点:
- Records:用 record 表示不可变 DTO 与值对象,自动生成 equals、hashCode、toString;避免在 POJO 上使用 Lombok @Data。
- 局部变量:用 var 做类型推断;接口类型变量需显式声明类型。
- Switch:使用 Switch 表达式(->)与模式匹配,替代复杂的 if/else 链。
- 文本块:用 """ 处理 JSON、SQL 或多行字符串。
- 模式匹配:使用带模式绑定的 instanceof,如 if (obj instanceof String s)。
- 密封类:用 sealed interface/class 配合 permits 子句构建受控的领域层级,此时 switch 表达式可被编译器校验为穷尽。
- 集合:用 List.of()、Map.of()、Set.of() 创建不可变集合。
- Streams:用 stream() 管道做函数式转换,用 .toList()(Java 16+)。
- Optional:用作返回类型,配合 .ifPresentOrElse() 或 .orElseThrow()。
- 虚拟线程:I/O 密集型负载优先使用 Executors.newVirtualThreadPerTaskExecutor()。
反模式(应避免):不返回 null,改用 Optional 或空集合,避免 null 参数;不使用原始类型,始终使用泛型;不使用旧式 switch 与 fall-through;不手写 get/set,改用 Records 或值对象;不使用 synchronized 块,改用 java.util.concurrent 或虚拟线程。
使用方式与适用场景:资料未提供具体安装命令、调用方式或集成步骤,暂未提供。该技能适用于遵循 Java 21+ 的代码编写与评审场景。
限制:资料仅给出规范条目与参考主题(Records、模式匹配与虚拟线程),未说明支持的平台、工具链版本细节、收费情况或实际效果,这些内容暂未提供。