【讨论帖】map的函数式编程

谁用了我的英文名 谁用了我的英文名 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请原谅我眼拙,没有发现Map相关的拉姆达表达式相关配件,所以自己写了一套接口:

@Test
public void testMap() {
System.out.println(MapPut.end((mp)->{mp.put("a", "b").put("c", "d");}).get("a"));
}


@FunctionalInterface
interface MapPut<K, V>{

public void putImpl(K key, V value);

public default MapPut<K,V> put(K key, V value) {
putImpl(key, value);
return this;
}

@SuppressWarnings({ "rawtypes", "rawtypes", "unchecked" })
public static Map end(MapBack mb) {
Map map = new HashMap();
mb.back((k, v)->map.put(k, v));
return map;
}
}

@FunctionalInterface
interface MapBack {

public void back(MapPut mp);

}


见上,通过两个函数式接口,就可以实现不定义Map变量而连续打点赋值的语法啦!~
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
谁用了我的英文名
Java 51,407 成员 86,130 内容