【发布时间】:2016-12-18 08:24:07
【问题描述】:
我想将方法指针存储在映射中,以根据字符串值执行它们。 Аrom 我发现的,我可以使用Map<String, Runnable> 来做,但问题是我想从方法中获取返回值。
假设我有这样的事情:
private Map<String, Runnable> timeUnitsMap = new HashMap<String, Runnable>() {{
timeUnitsMap.put("minutes", () -> config.getMinutesValues());
}}
方法config.getMinutesValues()来自另一个类。
我该如何做int value = timeUnitsMap.get("minutes").run(); 或在地图中存储其他内容(而不是Runnable)以便从地图中的函数中获取值?
【问题讨论】:
-
你知道你可以写
config::getMinutesValues而不是() -> config.getMinutesValues()吗?
标签: java lambda java-8 functional-interface