Java 8: инициализация HashMap с помощью лямбда-выражений
Я пытаюсь объявить и определить большую хэш-карту сразу. Вот как я это делаю:
public HashMap opcode_only = new HashMap() {{
put(x, y);
put(x, y);
}};
Но когда я пытаюсь использовать лямбда-выражения в телеput
Ям удары по предупреждению / ошибке затмения. Вот как я использую лямбду в HashMap:
public HashMap opcode_only = new HashMap() {{
put(0, () -> { return "nop"; });
put(1, () -> { return "nothing...."; });
}};
Затмение подчеркивает всю лямбду, начиная с запятой. Сообщения об ошибках:
Syntax error on token ",", Name expected
Syntax error on tokens, Expression expected instead
Кто-нибудь знает, что я делаю не так? Разрешена ли инициализация лямбда-выражением вHashMap
? Пожалуйста помоги.