Initialize an array of Strings inside an enum
11,631
Solution 1
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.
Solution 2
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;
}
}
Solution 3
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?
Related videos on Youtube
Author by
Deelazee
Updated on June 04, 2022Comments
-
Deelazee almost 2 years
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", "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?
-
Deelazee about 13 yearsAh, stupid me, problem wasn't even related to my array. And my enum is internal to a JUnit test class so I don't think static is a problem. Although it might not make much sense.