您的位置:首页 > 编程语言 > Java开发

Java---lambda表达式

2016-08-23 23:12 330 查看
JDK1.8开始将匿名内部类的实现转为了函数式实现,引入了lambda表达式。

函数式编程的最严格要求:每一个接口里面只允许有一个抽象方法。

为了保证所定义的接口一定是函数式编程所使用的接口,那么一般在定义函数式接口前需要加上一个“@FunctionInterface”注解。

函数式编程的基本组成: (参数) -> 程序的语句;

单行语句:(参数) -> 程序的语句;

多行语句:(参数) -> {程序的语句 … return};

简单返回:(参数) -> 表达式 ;

实例分析

单行语句:

(参数) -> 程序的语句;

运行结果: 输出 数据A

@FunctionInterface
interface IDemo<T>{
public void print(T t);
}
public class Test{
public static void main(String[] args) {
IDemo<String>  demo = (str) -> System.out.println(str);
demo.print("数据A");
}
}


多行语句:

(参数) -> {程序的语句 … return};

运行结果:输出false;

@FunctionInterface
interface IDemo<T,r>{
public r print(T t1,T t2);
}
public class Test{
public static void main(String[] args) {
IDemo<String,Boolean>  demo = (str1,str2) ->{
return str1.equals(str2);
};
System.out.println(demo.print("输出","输入"));
}
}


简单返回:

(参数) -> 表达式 ;

运行结果: 输出true

@FunctionInterface
interface IDemo<T>{
public boolean print(T t1,T t2);
}
public class Test{
public static void main(String[] args) {
IDemo<Integer>  demo = (str1,str2) -> str1==str2;
System.out.println(demo.print(100,100));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  函数式编程 lambda