Java函数式接口Function】的更多相关文章

Function 提供了一个抽象方法  R apply(T t) 接收一个参数 返回 一个值,还有两个默认方法和一个静态方法 compose 是一个嵌套方法,先执行before.apply() 得到运算后的值,再执行apply(),andthen则相反 identity 输入一个值则返回一个值,t -> t 实际是 apply() 这个方法的实现 另外还有BiFunction.toIntFunction.DoubleToIntFunction 等函数式接口,区别在于参数的不同,比如LongToI…
目录 Java 函数式接口 1. 函数式接口 1.1 概念 1.2 格式 1.3 函数式接口的使用 2. 函数式编程 2.1 Lambda的延迟执行 性能浪费的日志案例 使用Lambda表达式的优化 2.2 使用Lambda作为方法的参数&返回值 3. 常用的函数式接口 3.1 Supplier接口 练习:求数组元素的最大值 3.2 Consumer接口 默认方法:andThen 练习:格式化打印信息 3.3 Predicate接口 默认方法:and 默认方法:or 默认方法:negate 练习…
常用的函数式接口Function接口 package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * java.util.function.Function<T,R>接口用来根据一个类型的数据得到另一个类型的数据, * 前者称为前置条件,后者称为后者条件 * Function接口中最主要的抽象方法为:R apply(T t),根据类型T的参数获取类型R的结果. * 使用场景例如:将String类型转换…
Consumer是java8提供的函数式接口之一,意思为消费者,接受参数而不返回值 void accept(T t); default Consumer<T> andThen(Consumer<? super T> after) { Objects.requireNonNull(after); return (T t) -> { accept(t); after.accept(t); }; } 方法示例 package jdk8.consumer; import java.u…
函数式接口定义且只定义了一个抽象方法.函数式接口的抽象方法的签名称为函数描述符.Java 8的java.util.function包中引入了几个新的函数式接口. 1.Predicate java.util.function.Predicate<T>接口定义了一个名叫 test 的抽象方法,它接受泛型 T对象,并返回一个 boolean . 在需要表示一个涉及类型T的布尔表达式时,就可以使用这个接口. 比如,可以定义一个接受 String对象的 Lambda表达式,如下所示. @Function…
Function 我们知道Java8的最大特性就是函数式接口.所有标注了@FunctionalInterface注解的接口都是函数式接口,具体来说,所有标注了该注解的接口都将能用在lambda表达式上. 接口介绍 /** * Represents a function that accepts one argument and produces a result. * * <p>This is a <a href="package-summary.html">f…
import java.io.Serializable; import java.util.ArrayList; import java.util.List; public class Demo1 { public static void main(String[] args) { // 使用lambda表达式,如runnable Thread th1 = new Thread(() -> { System.out.println("lambda 创建线程"+Thread.cur…
什么是函数式接口? 函数式接口是一种特殊的接口,接口中只有一个抽象方法. 函数式接口与Lambda表达式有什么关系? 当需要一个函数式接口的对象时,可以提供一个lambda表达式. package learnspringboot.xiao.learnjava; /** * @author xzy * @date 2019-11-17 15:24 * 说明:函数式接口 */ public interface FunctionalInterface { void aFunction(Object..…
C# Action委托 VS JAVA Action 接口函数 1.c#:Action 封装一个方法,该方法不具有参数并且不返回值. 构造实体类类 using System; namespace ActionsDelegate { public class Name { private string instanceName; public Name(string name) { this.instanceName = name; } public void DisplayToConsole()…
Function<T, R> T:入参类型,R:出参类型 调用方法:R apply(T t); 定义函数示例:Function<Integer, Integer> func = p -> p * 10;    // 输出入参的10倍 调用函数示例:func.apply(10);    // 结果100 Consumer<T> T:入参类型:没有出参 调用方法:void accept(T t); 定义函数示例:Consumer<String> consu…