【问题标题】:@AllArgsConstructor not generating constructor on Enum@AllArgsConstructor 未在 Enum 上生成构造函数
【发布时间】:2018-12-05 12:18:21
【问题描述】:

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

这是我的代码

import lombok.AllArgsConstructor;

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

    private String value;

    public String value() {
        return value;
    }
}

但我不断收到此错误:

[ERROR] .../State.java:[12,14] 枚举状态中的构造函数状态不能 应用于给定类型; [错误] 必需:无参数 [错误] 发现:java.lang.String [错误] 原因:实际参数列表和形式参数列表的长度不同

@AllArgsConstructor 有什么问题吗?

【问题讨论】:

  • This 可以提供帮助。
  • 您的代码中唯一奇怪的地方是您为 getter 赋予了与变量相同的名称,而不是有效的 getXX()。但是 allArgsConstructor 应该可以正常工作

标签: java enums lombok


【解决方案1】:

这样不是更好吗?

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

【讨论】:

    【解决方案2】:

    启用注释处理应该可以解决这个问题。 (首选项-->构建、执行、部署)-->编译器-->注释处理器

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2021-08-08
      • 1970-01-01
      • 2021-05-30
      • 2019-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多