Отображение строки в массив целых чисел - Java - PullRequest
2 голосов
/ 25 апреля 2011

Как мне сопоставить строку со статически определенным массивом целых?Я попытался

private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
    map.put("foo", {5, 1, 3, 2});
    map.put("bar", {2, 7, 8});
}

, который говорит мне, что {5, 1, 3, 2} незаконно.

Ответы [ 3 ]

9 голосов
/ 25 апреля 2011

Вам нужно вызвать конструктор массива, прежде чем инициализировать содержимое.

map.put("foo", new int[]{5, 1, 3, 2});
5 голосов
/ 25 апреля 2011

Попробуйте

private static Map<String, int[]> map = new HashMap<String, int[]>();
static {
    map.put("foo", new int[]{5, 1, 3, 2});
    map.put("bar", new int[]{2, 7, 8});
}
0 голосов
/ 25 апреля 2011

Если карта никогда не будет изменена, вы можете использовать Гуава lib:

private static ImmutableMap<String, int[]> immutaleMap =
    ImmutableMap.of("foo", new int[]{5, 1, 3, 2},
                    "bar", new int[]{2, 7, 8}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...