首页 > 解决方案 > 枚举中的龙目岛:@Setter 在枚举中给出编译错误

问题描述

错误:@Setter 仅在类或字段上受支持。pom.xml 中的龙目岛版本 = 1.18.12

想让这个 ErrorMessages 对任何类型的错误都是通用的。需要通过 lombok 创建 getter 和 setter 并访问:ErrorMessages.MISSING_REQUIRED_FIELD.getErrorMessage()

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public enum ErrorMessages {

    MISSING_REQUIRED_FIELD("Missing required field. Please check documentation for required fields."),
    RECORD_ALREADY_EXISTS("Record already exists");

    private String errorMessage;

//  public String getErrorMessage() {
//      return errorMessage;
//  }
//
//  public void setErrorMessage(String errorMessage) {
//      this.errorMessage = errorMessage;
//  }

    ErrorMessages(String errorMessage) {
        this.errorMessage = errorMessage;

    }

}

标签: javaeclipselombok

解决方案


如果您不想更改数据,这应该是 a class,而不是a ,enum否则请参阅 Joachim Sauer 评论。

另请注意,构造函数也需要公开

@Setter
@Getter
public class ErrorMessages {

    private String errorMessage;

    public ErrorMessages(String errorMessage) {
        this.errorMessage = errorMessage;}
}

推荐阅读