Java 初始化枚举内的字符串数组

Java 初始化枚举内的字符串数组,java,enums,Java,Enums,我在Java中有一个枚举,它的每个枚举成员都有许多参数。我试图做的是将其中一个参数作为字符串数组,但似乎无法进行正确的初始化 以下是我尝试过的: private static enum DialogType { ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", "dlg7Matchcode", "Zutritts\nkategorie", "Text"), private String mDialogName;

我在Java中有一个枚举,它的每个枚举成员都有许多参数。我试图做的是将其中一个参数作为字符串数组,但似乎无法进行正确的初始化

以下是我尝试过的:

private static enum DialogType {
    ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", "dlg7Matchcode", "Zutritts\nkategorie", "Text"),

    private String mDialogName;
    private String[] mKeyField;
    private String mTextField;
    private String mSelectFields;
    private String mKeyFieldHeader;
    private String mTextFieldHeader;

    private DialogType(String dialogName, String[] keyField, String textField, String selectFields, String keyFieldHeader, String textFieldHeader) {
        mDialogName = dialogName;
        mKeyField = keyField;
        mTextField = textField;
        mSelectFields = selectFields;
        mKeyFieldHeader = keyFieldHeader;
        mTextFieldHeader = textFieldHeader;
    }
}
然而,我得到了大量的语法错误。有什么想法吗?

那就做吧

public  enum DialogType {
    ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", 
           "dlg7Matchcode", "Zutritts\nkategorie", "Text");
它应该会起作用。注意
在帐户的末尾。
此外,枚举不能是静态的

ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", "dlg7Matchcode", "Zutritts\nkategorie", "Text");
我想您只需要在实例声明的末尾加一个分号


我假定枚举是静态的,因为它是某个内容的内部枚举?

这应该可以实现ACCCAT行末尾的分号

private static enum DialogType {

    ACCCAT("Acccat", new String[]{"acccatid"}, "acccatText", "dlg7Matchcode", "Zutritts\nkategorie", "Text");
    private String mDialogName;
    private String[] mKeyField;
    private String mTextField;
    private String mSelectFields;
    private String mKeyFieldHeader;
    private String mTextFieldHeader;

    private DialogType(String dialogName, String[] keyField, String textField, String selectFields, String keyFieldHeader, String textFieldHeader) {
        mDialogName = dialogName;
        mKeyField = keyField;
        mTextField = textField;
        mSelectFields = selectFields;
        mKeyFieldHeader = keyFieldHeader;
        mTextFieldHeader = textFieldHeader;
    }
}

啊,愚蠢的我,问题甚至和我的阵型无关。我的枚举是JUnit测试类的内部,所以我不认为静态是一个问题。尽管这可能没有多大意义。