您好,登录后才能下订单哦!
java中Lamda表达式是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、λ 希腊字母表中排序第十一位的字母,英语名称为 Lamda
2、避免匿名内部类定义过多
3、可以让你的代码看起来很简洁
4、去掉了一堆没有意义的代码,留下核心的逻辑
5、其实质属于函数式编程的概念
(params)-> expression[表达式]
(params) -> statement[语句]
(params) -> {statements}
a -> System.out.println("i like lamda-->"+a)
new Thread (()->System.out.println(“多线程学习。。。。”)
).start();
1、理解Functional interface(函数式接口)是学习java8 lamda表达式的关键所在。
2、函数式接口的定义:
任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
public interface Runnable{ public abstract void run(); }
对于函数式接口,我们可以通过lamda表达式来创建该接口的对象
package com.haiyang.lamda; public class TestLamda01 { //3、静态内部类,同样实现ILike接口 static class Like2 implements ILike{ @Override public void lamda() { System.out.println("i like lamda2"); } } public static void main(String[] args) { ILike like = new Like(); like.lamda(); like = new Like2(); like.lamda(); //4、局部内部类 class Like3 implements ILike{ @Override public void lamda() { System.out.println("i like lamda3"); } } like = new Like3(); like.lamda(); //5、匿名内部类,没有类的名称。必须借助接口或者父类 like = new ILike() { @Override public void lamda() { System.out.println("i like lamda4"); } }; like.lamda(); //6、lamda表达式 like = ()->{ System.out.println("i like lamda5"); }; like.lamda(); } } //1、定义一个只有一个抽象方法的接口 interface ILike{ abstract void lamda(); } //2、实现类 class Like implements ILike{ @Override public void lamda() { System.out.println("i like lamda1"); } }
输出:
package com.haiyang.lamda; public class TestLamda02 { public static void main(String[] args) { ILive live = null; //Lamda简化 live = (int a)->{ System.out.println("I live you"+a); }; live.live(1); //Lamda简化参数类型 live = (a)->{ System.out.println("I live you"+a); }; live.live(2); //Lamda简化括号 live = a->{ System.out.println("I live you"+a); }; live.live(3); //Lamda简化花括号(只有一条语句时) live = a->System.out.println("I live you"+a); live.live(4); } } interface ILive{ abstract void live(int a); }
输出:
package com.haiyang.lamda; public class TestLamda02 { public static void main(String[] args) { ILive live = null; //Lamda简化 live = (int a,int b)->{ System.out.println("I live you"+a+b); }; live.live(1,1); //Lamda简化参数类型(要去掉就要都去掉) live = (a,b)->{ System.out.println("I live you"+a+b); }; live.live(2,2); //Lamda简化花括号(只有一个语句时) live = (a,b)->System.out.println("I live you"+a+b); live.live(3,3); } } interface ILive{ abstract void live(int a,int b); }
输出:
看完上述内容,你们掌握java中Lamda表达式是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。