より大きなハッシュ マップを一度に宣言および定義しようとしています。これは私がそれを行う方法です:
public HashMap<Integer, Callable<String>> opcode_only = new HashMap<Integer, Callable<String>>() {{
put(x, y);
put(x, y);
}};
しかし、の本体でラムダ式を使用しようとするとput
、日食の警告/エラーが発生します。これは、HashMap でラムダを使用する方法です。
public HashMap<Integer, Callable<String>> opcode_only = new HashMap<Integer, Callable<String>>() {{
put(0, () -> { return "nop"; });
put(1, () -> { return "nothing...."; });
}};
Eclipse は、カンマで始まるラムダ全体に下線を引きます。エラー メッセージ:
Syntax error on token ",", Name expected
Syntax error on tokens, Expression expected instead
誰かが私が間違っていることを知っていますか? でラムダ式による初期化は許可されていHashMap
ますか? 助けてください。