php中文网

如何在 Java 中编写可重用的函数式代码块?

php中文网

在 java 中编写可重用的函数式代码块可以通过 lambda 表达式实现,其语法为:(parameter list) -> expression,可通过接口传递,实战案例如下:创建lambda 表达式 squaresumcalculator squaresum = (a, b) -> math.pow(a, 2) + math.pow(b, 2);使用函数式代码块 numbers.stream().map(n -> squaresum.calculate(n, n));获取结果 list squaresums = ...collect(collectors.tolist())。

在 Java 中编写可重用的函数式代码块

函数式代码块是对输入值进行计算并返回结果的代码片段。在 Java 中,我们可以使用 lambda 表达式来编写可重用的函数式代码块。

lambda 表达式语法

(parameter list) -> expression

示例:计算两个整数的平方和

立即学习“Java免费学习笔记(深入)”;

(a, b) -> Math.pow(a, 2) + Math.pow(b, 2)

使用函数式代码块

函数式代码块可以通过接口传递,接口必须只包含一个抽象方法,该方法的参数列表和返回类型与函数式代码块的相同。

示例接口:

@FunctionalInterface
public interface SquareSumCalculator {
    int calculate(int a, int b);
}

使用函数式代码块的实战案例

以下示例展示了如何在 Java 中使用 lambda 表达式编写和使用可重用的函数式代码块:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class FunctionBlocks {

    public static void main(String[] args) {
        List numbers = Arrays.asList(1, 2, 3, 4, 5);
        
        // 创建函数式代码块
        SquareSumCalculator squareSum = (a, b) -> Math.pow(a, 2) + Math.pow(b, 2);
        
        // 使用函数式代码块
        List squareSums = numbers.stream()
                .map(n -> squareSum.calculate(n, n))
                .collect(Collectors.toList());
        
        System.out.println(squareSums);
    }
}

输出:

[1, 8, 25, 50, 85]

以上就是如何在 Java 中编写可重用的函数式代码块?的详细内容,更多请关注php中文网其它相关文章!