Java8新特性 - Lambda表达式 - 基本知识

本文详细介绍了Java 8中的lambda表达式,包括其基本语法、使用方式以及实例应用,通过具体代码示例展示了如何在Java中创建匿名函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 output
msg -> System.out.println(msg)

// Takes a String parameter and returns its length
(String str) -> str.length()


Adder.java

package corejava2.lambda;

@FunctionalInterface
public interface Adder {
double add(double n1, double n2);
}



Joiner.java


package corejava2.lambda;

@FunctionalInterface
public 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值