常用函数式接口_Function

本文详细介绍了Java中util.function包的Function接口,展示了如何使用lambda表达式实现方法,包括apply()和andThen(), compose()等函数操作,以及如何在实际场景中转换字符串和年龄。

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

函数式接口Function
软件包 java.util.function

Interface Function<T,R>

Function 接口用来对给定的 T 类型参数j进行,然后返回一个 R 类型的结果。

方法摘要
返回值类型方法描述
Rapply(T t)将此函数应用于给定的参数。
default Function<T,V>andThen​(Function<? super R,? extends V> after)返回一个组合函数,首先将该函数应用于其输入,然后将 after函数应用于结果。
default Function<V,R>compose​(Function<? super V,? extends T> before)返回一个组合函数,首先将 before函数应用于其输入,然后将此函数应用于结果。
static Function<T,T>identity​()返回一个总是返回其输入参数的函数。
  • apply()方法:对给定参数进行处理并返回结果(多用于类型转换,将参数类型T转为参数类型R)
import java.util.function.Function;

public class FunctionDemo01 {
    public static void main(String[] args) {

        //使用lambda表达式实现方法
        System.out.println(fun1("123", str -> Integer.valueOf(str)));


        String user = "张彪,66";
        //将user中的年龄取出增加 1 再转换为字符串后输出
        System.out.println(appendAge(user, s -> Integer.parseInt(s.split(",")[1]) + 1,
                                           s -> s.toString()));
    }
    //将字符串转换为int类型
    private static Integer fun1(String str, Function<String, Integer> fun){
        return fun.apply(str);
    };

    private static String appendAge(String str, Function<String, Integer> fun1, Function<Integer, String> fun2){
    	return fun1.andThen(fun2).apply(str);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值