常用的函式式介面之Function介面
阿新 • • 發佈:2022-05-13
Function<T,R>:常用的兩個方法
R apply(T t):將此函式應用於給定的引數
default<V>Function andThen(Function after):返回一個組合函式,首先將該函式應用於輸入,然後將after函式應用於結果
Function<T,R>介面通常用於對引數進行處理,轉換(處理邏輯由Lambda表示式實現),然後返回一個新的值
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, Function<String,Integer>fc){
Integer i = fc.apply(s);
System.out.println(i);
}
//定義一個方法,把一個int型別的資料加上一個整數後轉換為String型別並輸出
private static void intConcertStr(Integer i,Function<Integer,String>fc){
String s = fc.apply(i);
System.out.println(s);
}
//定義一個方法,把一個字串轉換為int型別後加上一個整數轉換為字串,並輸出
private static void convert(String s,Function<String,Integer>fc,Function<Integer,String>fc1){
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, Function<String,Integer>fc){
Integer i = fc.apply(s);
System.out.println(i);
}
}