此接口用来根据一个类型的数据得到另一个类型的数据,
前者称为前置条件,后者称为后置条件
Function接口中最主要的抽象方法为:R apply(T t),根据类型T的参数获取类型R的结果。
使用场景例如:将String类型转化为Integer类型.
例子:
import java.util.function.Function;
public class FuXi3 {
//此为自己摸索出来的一条筛选元素名字长度和性别的代码
public static void main(String[] args) {
String p = "5445";
demo02(p, (n) -> {//重写接口中的方法
return Integer.parseInt(n);//使String类型转化为int类型 普通方法中已经写好的规则
});
}
private static void demo02(String arr, Function<String, Integer> ee) {//创建普通方法 Function接口返回一个转化完的类型
Integer apply = ee.apply(arr);//调用接口中唯一的方法
// new Function<String, Integer>() {
// @Override
// public Integer apply(String s) {
// return Integer.parseInt(n) //将String类型的数字转化为int类型并返回他
//
// }
// };
System.out.println(apply);//打印转化后的数值
}
}
需求:再将int类型数值+10并转化为String类型
import java.util.function.Function;
public class FuXi3 {
public static void main(String[] args) {
String p = "5445";
demo02(p, (n) -> /*重写接口中的方法*/Integer.parseInt(n) + 10//使String类型转化为int类型 普通方法中已经写好的规则
, (r) -> Integer.toString(r)//再重写接口中的方法 使int类型转化为String类型
);
}
private static void demo02(String arr, Function<String, Integer> ee, Function<Integer, String> e) {//创建普通方法 Function接口返回一个转化完的类型
String apply = ee.andThen(e).apply(arr);//调用接口中唯一的方法
// new Function<String, Integer>() {
// @Override
// public Integer apply(String s) {
// return Integer.parseInt(n) //将String类型的数字转化为int类型并返回他
//
// }
// };
System.out.println(apply);//打印转化后的数值
}
}