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

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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: