开发者

Initialize an array of Strings inside an enum

I have an Enum in Java and each of its enumeration members have a number of parameters. What I am trying to do is make one of these parameters as an array of Strings but I can't seem to be able to make the correct initialization.

Here's what I've tried:

private static enum DialogType {
    ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", "dlg7Matchcode开发者_JAVA技巧", "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;
    }
}

However, I am getting a ton of syntactic errors. Any ideas?


Make that

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

And it should work. Note the ; at the end of the ACCAT. Also the enum can't be static.


This should do the trick - Semicolon at the end of the ACCCAT line

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;
    }
}


ACCCAT("Acccat", new String[] {"acccatid"}, "acccatText", "dlg7Matchcode", "Zutritts\nkategorie", "Text");

I think you just want a semi-colon at the end of the instance declaration.

I presume the enum is static because it's an inner enum of something?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜