Перечисления, определенные с константой массива в Java - PullRequest
1 голос
/ 23 декабря 2011

Я хотел бы знать, возможно ли определить перечисление с массивом как константа;см. следующий фрагмент кода.

Это не компилируется с ошибкой неправильного начала выражения.Кто-нибудь может мне помочь?

1004 * Большое спасибо
public enum Currency
{
    *****PENNY(1, {"one", "oneone"}),*
    NICKLE(5, {"five"}),
    DIME(10, {"ten"}),
    QUARTER(25, {"twentifive"});****

    private int valueInteger;
    private String[] valueString;

    private Currency(int valueInteger, String[] valueString) {
        this.valueInteger = valueInteger;
        this.valueString = valueString;
    }

}

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Да, вам просто нужно их инициализировать.Например,

NICKLE(5, new string[]{"five"})
0 голосов
/ 23 декабря 2011

Для этого случая использования я бы использовал подход vararg:

public enum Currency {
    PENNY(1, "one", "oneone"),
    NICKLE(5, "five"),
    DIME(10, "ten"),
    QUARTER(25, "twentifive");

    private int valueInteger;
    private String[] valueString;

    private Currency(int valueInteger, String... valueString) {
        this.valueInteger = valueInteger;
        this.valueString = valueString;
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...