常用函数式接口Function练习
package LambdaTest.LambdaTest05; import java.util.function.Function; /** * FileName: FunctionTest01 * Author: lps * Date: 2022/4/9 19:47 * Sign:刘品水 Q:1944900433 * default <V> Function<T,V> andThen(Function<? super R,? extends V> after) * 返回一个由功能首次采用该函数的输入,然后将 after函数的结果。 * R apply(T t) * 将此函数应用于给定的参数。 * default <V> Function<V,R> compose(Function<? super V,? extends T> before) * 返回一个由功能,首先应用 before函数的输入,然后将该函数的结果。 * static <T> Function<T,T> identity() * 返回一个函数,它总是返回它的输入参数。 */ public class FunctionTest01 { public static void main(String[] args) { convert("202249", s -> Integer.parseInt(s)); //convert("2001823",Integer::parseInt); convert(2022, i -> String.valueOf(i + 123)); convert("2021", Integer::parseInt, i -> String.valueOf(i + 1)); } //定义一个方法 吧一个字符串转换成int类型 private static void convert(String s, Function<String, Integer> fun) { Integer i = fun.apply(s); System.out.println(i); } //吧int类型数据加上一个整数之后 转换为字符串 private static void convert(int i, Function<Integer, String> fun) { String s = fun.apply(i); System.out.println(s); } //把一个字符串转换为int类型 吧int加个整数后 转为字符串在控制台输出 private static void convert(String s, Function<String, Integer> fun1, Function<Integer, String> fun2) { // Integer i = fun1.apply(s); // String s0 = fun2.apply(i); // System.out.println(s0); // * default <V> Function<T,V> andThen(Function<? super R,? extends V> after) // * 返回一个由功能首次采用该函数的输入,然后将 after函数的结果。 String ss=fun1.andThen(fun2).apply(s); System.out.println(ss); //default <V> Function<T, V> andThen(Function<? super R, ? extends V> after) { // Objects.requireNonNull(after); // return (T t) -> after.apply(apply(t)); // } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix