进阶day06-常用的函数式接口-Function(转换工厂)
This commit is contained in:
@@ -0,0 +1,37 @@
|
|||||||
|
package com.inmind.functional_interface02;
|
||||||
|
|
||||||
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
/*
|
||||||
|
学习的内容:
|
||||||
|
6.常用的函数式接口-Function,Function就是一个数据工厂,用来进行数据转换
|
||||||
|
Interface Function<T,R>
|
||||||
|
参数类型
|
||||||
|
T - 原料的类型 - 参数
|
||||||
|
R - 产品的类型 - 返回值
|
||||||
|
抽象方法:
|
||||||
|
R apply(T t):表示进T类型的数据转换成R类型的数据
|
||||||
|
默认方法:
|
||||||
|
default <V> Function<T,V> andThen(Function after) 合并2个Function接口,生成一个新的,先执行this的apply方法,再执行after的apply方法
|
||||||
|
default <V> Function<V,R> compose(Function before) 与以上的方法完全相反
|
||||||
|
|
||||||
|
需求:"100"->100
|
||||||
|
*/
|
||||||
|
public class Demo13 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// method(str->Integer.parseInt(str),"100");
|
||||||
|
// method((String str)->{return Integer.parseInt(str);},"100");
|
||||||
|
//----------------------------------也可以这么做-----------------------------
|
||||||
|
//定义一个转换工厂
|
||||||
|
Function<String,Integer> function = str->Integer.parseInt(str);//接口的多态
|
||||||
|
Integer result = function.apply("10");
|
||||||
|
System.out.println(result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//定义出一个方法,接收的是一个数据工厂(String->Integer),字符串参数,没有返回值
|
||||||
|
public static void method(Function<String,Integer>function,String str) {
|
||||||
|
Integer result = function.apply(str);
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user