常用的函数式接口之Function接口
Function
R apply(T t):将此函数应用于给定的参数
default
Function
package Demo0513;
?
import java.util.function.Function;
?
public class FunctionDemo {
public static void main(String[] args) {
//调用strConvertInt方法
strConvertInt("123",s->Integer.parseInt(s));//Lambda表达式写法
strConvertInt("456",Integer::parseInt);//方法引用写法
////调用intConcertStr方法
intConcertStr(123,i->String.valueOf(i+566));
//调用convert方法
convert("123",s->Integer.parseInt(s),i->String.valueOf(i+566));
?
}
//定义一个方法,把一个字符串转换为int类型,并输出
private static void strConvertInt(String s, Functionfc){
Integer i = fc.apply(s);
System.out.println(i);
}
//定义一个方法,把一个int类型的数据加上一个整数后转换为String类型并输出
private static void intConcertStr(Integer i,Functionfc){
String s = fc.apply(i);
System.out.println(s);
}
//定义一个方法,把一个字符串转换为int类型后加上一个整数转换为字符串,并输出
private static void convert(String s,Functionfc,Functionfc1){
String ss = fc.andThen(fc1).apply(s);
System.out.println(ss);
}
?
}
练习:
1.创建字符串 String s="最美不过姑娘你,18"
3.将int 数据加18,得到一个int类型的结果,输出
4.使用Function接口实现函数拼接
package Demo0513;
import java.util.function.Function;
public class FunctionDemo02 {
public static void main(String[] args) {
//定义字符串
//String s="最美不过姑娘你,18";
//调用方法
convert("最美不过姑娘你,18",s->Integer.parseInt(s.split(",")[1])+18);
}
//定义方法
private static void convert(String s, Functionfc){
Integer i = fc.apply(s);
System.out.println(i);
}
}