码迷,mamicode.com
首页 > 其他好文 > 详细

lambda表达式

时间:2015-09-17 17:49:31      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

个人认为~这是java8最大的新特性了。

1.只能应用于函数式接口(使用lambda表达式的时候,接口必须是函数式接口):

//匿名内部类的方式实现,在java8之前,没有lambda表达式

User u = new User(){
    public void test(){
    System.out.println("111111");
    }
};

u.test();



@FunctionalInterface
interface User
{
   void test();
    
}

使用lambda表达式:

//():表示参数列表,不需要指定参数的类型,会自动推断
//->:连接符
//{}:方法体
User u = () -> {
  System.out.println("2221111");
}

u.test();


//带参数    而且不需要知道参数类型,只需要知道参数
User u = (x) -> {
  System.out.println("2221111"+x);
}

u.test();


//一个参数可以省略()
User u = x -> {
  System.out.println("2221111"+x);
}
u.test();


//带两个参数   
User u = (x,y) -> {
  System.out.println("2221111"+x);
  System.out.println("2221111"+y);
}
u.test();


//返回值  
User u = x -> {
  x = x+10;
  return x;
 
}
int o = u.test(15);

Lambda表达式可以认为是一种特殊的匿名内部类。


lambda表达式

标签:

原文地址:http://my.oschina.net/u/2265860/blog/507717

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!