import java.util.function.Function;
public class FunctionApply {
public static void main(String[] args) {
/*Lambda写法
* 1,定接口,创建一个方法如,demo,把对应的接口Function作为参数列表传递,调用该接口Function中的
* 抽象方法apply,进行逻辑处理。
* private static void demo(Function<String, Integer> function) {
Integer num = function.apply("20");//R apply(T t);R是t返回的结果
System.out.println(num);
}
* 2,调用方法名demo(),在括号内进行Lambda表达式的逻辑处理(也就是传参,规则处理)
demo(s -> Integer.parseInt(s));
* */
demo(s -> Integer.parseInt(s));
//传统写法
/* 1,建类MyApply,实现Function接口,覆盖重写方法apply
* class MyApply implements Function<String, Integer>{
public Integer apply(String t) {
return Integer.parseInt(t);
}}
* 2,创建对象new,用对象名调用(.)覆盖重写的方法apply
}
* 3,返回结果,打印
*
* */
MyApply myApply = new MyApply();
Integer nu = myApply.apply("333");
System.out.println(nu);
}
private static void demo(Function<String, Integer> function) {
Integer num = function.apply("20");//R apply(T t);R是t返回的结果
System.out.println(num);
}
}
class MyApply implements Function<String, Integer>{
@Override
public Integer apply(String t) {
return Integer.parseInt(t);
}
}
小小Demo,随记