Java 对这两个构造函数的错误,空白最终字段错误代码可能尚未初始化。

Java 对这两个构造函数的错误,空白最终字段错误代码可能尚未初始化。,java,Java,您必须在声明类级最终变量时为它们提供值,或者在构造函数中提供值 如果使用第一个构造函数,则最后一个变量errorCodes将保持未初始化状态,这是一个编译器错误 同样,如果使用第二个构造函数,则最终变量errorCode将保持未初始化状态 您需要为所有三个变量提供值,或者使errorCode和errorCode成为非最终值 更新 而不是让这两个做同样的事情:- public enum DataMatchErrorCodes { PAYLOAD_IS_EMPTY(100, "payload

您必须在声明类级最终变量时为它们提供值,或者在构造函数中提供值

如果使用第一个构造函数,则最后一个变量
errorCodes
将保持未初始化状态,这是一个编译器错误

同样,如果使用第二个构造函数,则最终变量
errorCode
将保持未初始化状态

您需要为所有三个变量提供值,或者使
errorCode
errorCode
成为非最终值


更新

而不是让这两个做同样的事情:-

public enum DataMatchErrorCodes {

  PAYLOAD_IS_EMPTY(100, "payload is empty or invalid payer"),
  MULTIPLE_PROVIDERFOUND("zz", "Multiple Provider Found"),
  PROVIDER_NOTFOUND(43, "provider not found"),
  PROCESS_MSG_ERROR(53, "unable to process msg");


    private final int errorCode;
    private final String errorMessage;
    private final String errorCodes;



    DataMatchErrorCodes(int errorCode, String errorMessage) {
        this.errorCode = errorCode;
        this.errorMessage = errorMessage;
      }
    DataMatchErrorCodes( String errorCodes, String errorMessage) {
        this.errorCodes = errorCodes;
        this.errorMessage = errorMessage;
      }
你可以有:-

private final int errorCode;
private final String errorCodes;
对象
类型将能够存储
整数
字符串
。然后您只需要一个构造函数:-

private final Object errorCode;
DataMatchErrorCodes(Object errorCode, String errorMessage)