云计算百科
云计算领域专业知识百科平台

Java基础--函数式编程(lambda)

lambda表达式:使用lambda函数替代某些匿名内部类对象,从而让程序代码更简洁,可读性更好

注意:lambda表达式并不是可以简化全部的匿名内部类,lambda只能替代函数式接口的匿名内部类

函数式接口:有且仅有一个抽象方法的接口

lambda表达式的省略规则:

  • 参数类型全部可以省略不写
  • 如果只有一个参数,参数类型省略的同时()也可以省略,但多个参数不能省略()
  • 如果lambda表达式中只有一行代码,大括号可以不写,同时要省略分号,如果这行代码是return语句,也必须去掉return

其他省略方法:

  • 静态方法引用: 类名::静态方法

如果某个lambda表达式里只是调用一个静态方法,并且->前后参数的形式一致,就可以使用静态方法引用

  • 实例方法引用:对象名::实例方法

如果某个lambda表达式里只是通过对象名称调用一个实例方法,并且->前后参数的形式一致,就可以使用实例方法引用

  • 特定类型方法引用:特定类的名称::方法

如果某个lambda表达式里只是调用一个特定类型的实例方法,并且前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的,则此时就可以使用特定类型的方法引用

  • 构造器引用:类名::new

如果某个lambda表达式里只是在创建对象,并且->前后参数情况一致,就可以使用构造器引用

赞(0)
未经允许不得转载:网硕互联帮助中心 » Java基础--函数式编程(lambda)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!