博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java8新特性 - Lambda表达式 - 基本知识
阅读量:7251 次
发布时间:2019-06-29

本文共 1780 字,大约阅读时间需要 5 分钟。

A lambda expression is an unnamed block of code (or an unnamed function) with a list of formal parameters and a

body.

Java8中的lambda表达式不同于C#,使用的是->

eg:

// Takes an int parameter and returns the parameter value incremented by 1(int x) -> x + 1// Takes two int parameters and returns their sum(int x, int y) -> x + y// Takes two int parameters and returns the maximum of the two(int x, int y) -> {     int max = x > y ? x : y;    return max;}// Takes no parameters and returns void() -> { }// Takes no parameters and returns a string "OK"() -> "OK"// Takes a String parameter and prints it on the standard output(String msg) -> { System.out.println(msg); }// Takes a parameter and prints it on the standard outputmsg -> System.out.println(msg)// Takes a String parameter and returns its length(String str) -> str.length()

下面看一个简单的例子

Adder.java

package corejava2.lambda;@FunctionalInterfacepublic interface Adder {    double add(double n1, double n2);}

 

Joiner.java

package corejava2.lambda;@FunctionalInterfacepublic interface Joiner {    String join(String s1, String s2);}

 

TargetTypeTest.java

package corejava2.lambda;public class TargetTypeTest {    public static void main(String[] args) {        // Creates an Adder using a lambda expression        Adder adder = (x, y) -> x + y;        // Creates a Joiner using a lambda expression        Joiner joiner = (x, y) -> x + y;        // Adds two doubles        double sum1 = adder.add(10.34, 89.11);        // Adds two ints        double sum2 = adder.add(10, 89);        // Joins two strings        String str = joiner.join("Hello", " lambda");        System.out.println("sum1 = " + sum1);        System.out.println("sum2 = " + sum2);        System.out.println("str = " + str);    }}

运行结果:

sum1 = 99.45
sum2 = 99.0
str = Hello lambda

 

转载地址:http://mnebm.baihongyu.com/

你可能感兴趣的文章
[单刷APUE系列]第十七章——高级进程间通信
查看>>
分布式之消息队列的特点、选型、及应用场景详解
查看>>
多迪学员问到最多的问题:为什么要学习Python编程语言?
查看>>
从vue中学习defineProperty
查看>>
漂亮的颜色
查看>>
Android Volley 源码解析(二),探究缓存机制
查看>>
Go源码剖析:内置类型
查看>>
102. Binary Tree Level Order Traversal
查看>>
SAP云平台对Kubernetes的支持
查看>>
原来实现GCP用客户端登录这么简单啊
查看>>
PAT A1057 分块思想
查看>>
PAT A1007 动态规划
查看>>
VUE父子组件传递数据
查看>>
前端知识点——图片
查看>>
别人家的程序员是如何使用 Java 进行 Web 抓取的?
查看>>
95%的技术面试必考的JVM知识点都在这,另附加分思路!
查看>>
日期类问题
查看>>
区块链入门之基础知识
查看>>
mysql锁(Innodb)
查看>>
小程序开发之影分身术
查看>>