给定一个带有 final 字段的简单类,例如 a String
(参见下面的示例)或 Spring 依赖项,使用 Java 14 记录使其更简洁并可能删除 Lombok 等注释处理器是一个好主意吗?
根据JEP对记录的描述,“记录在语义上声称是其数据的简单、透明的持有者”。
显然,只有最终字段的泛型类并不完全是其数据的透明持有者,并且在使用记录时,它的final
变量会暴露出来,这可能是不可取的。然而,在许多情况下,这可能不是一个大问题。
因此,这是否“足以”将其视为对该语言功能的“滥用”?或者还有其他不那么明显的缺点吗?
@RequiredArgsConstructor // or an explicit constructor when not using lombok
class AudienceValidator implements OAuth2TokenValidator<Jwt> {
private final String audience;
public OAuth2TokenValidatorResult validate(Jwt jwt) {
// validate
}
}
record AudienceValidator(String audience) implements OAuth2TokenValidator<Jwt> {
public OAuth2TokenValidatorResult validate(Jwt jwt) {
// validate
}
}