Java8新特性Lambda表达式
2017-06-02 21:31
639 查看
package cn.mldn.java8;
//Lambda表达式基础语法:java8引入了->操作符
//左侧:参数
//右侧:执行的功能
import java.util.Comparator;
import java.util.function.Consumer;
import org.junit.Test;
public class TestLambda2 {
//无参数,无返回值
@Test
public void test1()
{
Runnable r=new Runnable() {
@Override
public void run() {
System.out.println("JDK1.8之前这样写");
}
};
r.run();
System.out.println("---------------------");
Runnable r1=()->System.out.println("JDK1.8以后使用Lambda表达式这样写");
r1.run();
}
//有一个参数,无返回值
@Test
public void test2()
{
Consumer<String> con=(x)->System.out.println(x);
con.accept("消费型接口!");
}
//有两个或多个个参数,有返回值
@Test
public void test3()
{
Comparator<Integer> com=(obj1,obj2)->
{
System.out.println("函数式接口!");
return Integer.compare(obj1,obj2);
};
System.out.println(com.compare(1, 2));
}
//测试函数式接口(一个接口中只能定义一个方法)
@Test
public void test4()
{
Integer a=operation(100,(Integer x)->x*x);
System.out.println("result:"+a);
Integer b=operation(100,(Integer x)->x+x);
System.out.println("result:"+b);
}
public Integer operation(Integer num,MyFun mf)
{
return mf.getValue(num);
}
}
//Lambda表达式基础语法:java8引入了->操作符
//左侧:参数
//右侧:执行的功能
import java.util.Comparator;
import java.util.function.Consumer;
import org.junit.Test;
public class TestLambda2 {
//无参数,无返回值
@Test
public void test1()
{
Runnable r=new Runnable() {
@Override
public void run() {
System.out.println("JDK1.8之前这样写");
}
};
r.run();
System.out.println("---------------------");
Runnable r1=()->System.out.println("JDK1.8以后使用Lambda表达式这样写");
r1.run();
}
//有一个参数,无返回值
@Test
public void test2()
{
Consumer<String> con=(x)->System.out.println(x);
con.accept("消费型接口!");
}
//有两个或多个个参数,有返回值
@Test
public void test3()
{
Comparator<Integer> com=(obj1,obj2)->
{
System.out.println("函数式接口!");
return Integer.compare(obj1,obj2);
};
System.out.println(com.compare(1, 2));
}
//测试函数式接口(一个接口中只能定义一个方法)
@Test
public void test4()
{
Integer a=operation(100,(Integer x)->x*x);
System.out.println("result:"+a);
Integer b=operation(100,(Integer x)->x+x);
System.out.println("result:"+b);
}
public Integer operation(Integer num,MyFun mf)
{
return mf.getValue(num);
}
}
相关文章推荐
- Java 8新特性:lambda表达式
- Java 8新特性-3 Lambda 表达式
- JAVA8新特性(Lambda 表达式)
- Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API
- Java8 新特性之一---------Lambda表达式和函数式接口
- Java 8新特性:lambda表达式(四)转载总结
- Android Studio使用gradle-retrolambda支持Java8 新特性 Lambde表达式
- Java8特性详解 lambda表达式 Stream
- java8新特性之lambda表达式(一)
- java8新特性(拉姆达表达式lambda)
- java8新增特性(一)---Lambda表达式
- Java8 新特性----函数式接口,以及和Lambda表达式的关系
- Java 8 新特性:Lambda 表达式
- JAVA 新特性:lambda表达式
- Java8新特性——lambda表达式
- Java8新特性 - Lambda表达式 - 基本知识
- JAVA 1.8 新特性学习(2) lambda表达式
- Java 8 新特性:Lambda 表达式之方法引用(Lambda 表达式补充版)
- Java8新特性之Lambda表达式
- Java8 新特性之 Lambda 表达式