@AllArgsConstructor 不在 Enum 上生成构造函数

Sta*_*kJP 3 java enums lombok

我正在尝试为另一个类定义一个枚举。

这是我的代码

import lombok.AllArgsConstructor;

@AllArgsConstructor
public enum State {
    PUBLISHED("published"),
    UNPUBLISHED("unpublished");

    private String value;

    public String value() {
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不断收到此错误:

[错误] .../State.java:[12,14] 枚举 State 中的构造函数 State 不能应用于给定类型;[错误] 必需:没有参数 [错误] 找到:java.lang.String [错误] 原因:实际参数列表和正式参数列表的长度不同

@AllArgsConstructor有什么问题吗?

dja*_*fan 5

这样不是更好吗?

@RequiredArgsConstructor
@Getter
public enum State {
    PUBLISHED("published"),
    UNPUBLISHED("unpublished");
    private final String value;
}
Run Code Online (Sandbox Code Playgroud)