Lombok 的参数数量错误

Ble*_*ach 6 java builder lombok

我正在尝试使用 Lombok 的 @SuperBuilder,但由于某种原因我在编译时遇到了问题Error:(14, 1) java: wrong number of type arguments; required 3

那是我的子类;

@SuperBuilder
public class FetchFollowersOperation extends Operation<List<InstagramUserSummary>> {

    private String userName;

    public List<InstagramUserSummary> operate() {

        InstagramSearchUsernameResult userResult = null;
        try {
            userResult = instagram4j.sendRequest(new InstagramSearchUsernameRequest(this.userName));
            InstagramGetUserFollowersResult followers = instagram4j.sendRequest(new InstagramGetUserFollowersRequest(userResult.getUser().getPk()));
            return followers.getUsers();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

父类在下面;

@SuperBuilder
public abstract class Operation<T> {
    protected Instagram4j instagram4j;

    public abstract T operate();
}
Run Code Online (Sandbox Code Playgroud)

Vin*_*ati 3

问题出在线上public class FetchFollowersOperation extends Operation<List<InstagramUserSummary>>。您必须仅指定一种类型,即 T ,而不是此处的内部泛型类型,即用public class FetchFollowersOperation extends Operation<List>.

这解决了你的问题。虽然我浏览了 lombok 文档和其他有关导致此问题的原因的详细信息,但没有获得任何相关信息。

希望能帮助到你!

  • 在 lombok 1.8.22 中,问题似乎仍然存在。 (2认同)