Определить перечисление с переменной с типом List <String> - PullRequest
1 голос
/ 25 апреля 2019

Я работаю над приложением весенней загрузки, и у меня есть случай, когда я хочу определить enum со списком как тип.Но я получил синтаксическую ошибку, чтобы передать список.У нас есть обходной путь для решения этой синтаксической ошибки?

Мой код

EMAIL("001", "email", "Send To Email"),
    SMS("002", "slack", "Send To SMS"),
    EMAIL_SMS("003", "email", "Send to SMS and Email");


    private String code;
    private String description;
    private List<String> dest = new ArrayList<>();

    NotificationCenterCodeEnum(String  code, List<String> dest, String description) {
        this.code = code;
        this.dest=dest;
        this.description = description;
    }

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

Попробуйте:

enum Notification {

    EMAIL("code 1", "description 1", "email-2", "email-2"),
    SMS("code 2", "description 2", "num-1", "num-2", "num-3");

    Notification(String code, String description, String... dest) {
        this.code = code;
        this.description = description;
        this.dest = dest;
    }

    private String code;
    private String description;
    private String[] dest;

    // getters ...
}

Использование:

public class Hello {

    public static void main(String[] args) {

        String[] emails = Notification.EMAIL.getDest();
        String[] nums = Notification.SMS.getDest();

    }

}
2 голосов
/ 25 апреля 2019

Вы не передаете второй аргумент в виде списка:

EMAIL("Code-001", "email", "Send To Email"),

Должно быть

EMAIL("Code-001", Arrays.asList("email"), "Send To Email"),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...