博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK8 Lambda表达式对代码的简化
阅读量:6864 次
发布时间:2019-06-26

本文共 1413 字,大约阅读时间需要 4 分钟。

只是举个例子:

      

public class LambdaDemo {        public static String findData( String name , LambdaInterface finder){                                                  return finder.getValue( name) ;    }}
public interface LambdaInterface {        public String getValue(String key) ;}
public class LambdaInterfaceTest {        @Test    public void test(){        Map
map = new HashMap() ; map.put("a", "11") ; map.put("b", "22") ; String name = "a" ; System.out.println(LambdaDemo.findData(name, map::get) ) ; }}
LambdaDemo.findData(name, map::get)这句代码其实完整形式是:
@Test    public void test1(){        Map
map = new HashMap() ; map.put("a", "11") ; map.put("b", "22") ; String name = "a" ; System.out.println(LambdaDemo.findData(name,new LambdaInterface(){ @Override public String getValue(String key) { return map.get(key); } }) ) ; }

由于 LambdaInterface 接口只有一个方法,且这个接口方法只有一个参数,且接口方法的实现只有一句代码,且这句代码只接收一个接口方法传入的参数,此时就符合Lambda表达式的精简要求了,所以

    

LambdaDemo.findData(name,new LambdaInterface(){            @Override            public String getValue(String key) {                return map.get(key);            }                    }) ; 就可以简化成了
LambdaDemo.findData(name, map::get)  这一句了
 

转载于:https://www.cnblogs.com/hzhuxin/p/7339375.html

你可能感兴趣的文章
Linux 第60,61天 ansible的playbook
查看>>
阿里影业已完成质变,何时量变?
查看>>
mysql登陆提示ERROR 1045 (28000): Access denied for user
查看>>
我的友情链接
查看>>
剑指Offer(Java版):数值的整数次方
查看>>
extlinux安装livecd到USB
查看>>
cvBlob 作为静态库链接问题
查看>>
AGG第二十二课 conv_contour函数auto_detect_orientation的字体应用
查看>>
哲学家就餐问题
查看>>
从零学java
查看>>
我的友情链接
查看>>
ZooKeeper的一致性算法赏析
查看>>
Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
查看>>
互联网项目管理要点
查看>>
汉诺塔递归问题
查看>>
清理恶意插件提高上网速度
查看>>
我的友情链接
查看>>
正则表达式30分钟入门教程
查看>>
陈松松:如何利用视频营销实现精准化营销
查看>>
陈松松:刚入门的视频营销新人,需要做哪些准备?
查看>>