为所需的超级字段生成构造函数

Opa*_*pal 8 java lombok

我有以下课程:

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public abstract class EmailData {

    private final Iterable<String> recipients;
}
Run Code Online (Sandbox Code Playgroud)

和以下子类:

import lombok.Getter;

@Getter
public class PasswordRecoveryEmail extends EmailData {

    private final String token;
}
Run Code Online (Sandbox Code Playgroud)

是否有可能以PasswordRecoveryEmail这样的方式进行注释,以便生成所需类和超类字段的构造函数?

Mic*_*fel 6

@…Constructor注释将不显式调用构造函数,所以它们都依赖于一个默认的构造做了合适的工作。因此,不,您不能说服Lombok为您创建这些构造函数。

您可以获得的最接近的是:

  1. 在中提供默认的构造函数(无参数)EmailDataprotected并为分配一些合理的值recipients
  2. PasswordRecoveryEmail自己编写required-args构造函数。

在我的经验中,Lombok常常无法完全涵盖继承问题。