1. 程式人生 > 其它 >JavaSE-22.3.4【Lambda表示式支援的方法引用:引用類的例項方法】

JavaSE-22.3.4【Lambda表示式支援的方法引用:引用類的例項方法】

 1 package day13.lesson3.p3;
 2 
 3 /*
 4 3.5 Lambda表示式支援的方法引用:引用類的例項方法
 5 
 6     引用類的例項方法,其實就是引用類中的成員方法
 7 
 8     格式
 9         類名::成員方法
10     範例
11         String::substring
12         public String substring(int beginIndex,int endIndex)
13         從beginIndex開始到endIndex結束,擷取字串。返回一個子串,子串的長度為endIndex-beginIndex
14 15 練習描述 16 定義一個介面(MyString),裡面定義一個抽象方法: 17 String mySubString(String s,int x,int y); 18 定義一個測試類(MyStringDemo),在測試類中提供兩個方法 19 一個方法是:useMyString(MyString my) 20 一個方法是主方法,在主方法中呼叫useMyString方法 21 */ 22 public class MyStringDemo { 23 public static
void main(String[] args) { 24 //Lambda表示式 25 /*useMyString((String s, int x, int y) -> { 26 return s.substring(x, y); 27 });*/ 28 useMyString((s, x, y) -> s.substring(x, y)); 29 30 //方法引用之引用類的例項方法 31 useMyString(String::substring); 32 33 //
Lambda被類的例項方法替代時,它的第一個引數(s)作為呼叫者,後面引數(x,y)全部傳遞給該方法(substring)作為引數 34 } 35 36 private static void useMyString(MyString ms){ 37 String s = ms.mySubString("HelloWorld", 2, 5); 38 System.out.println(s); 39 } 40 } 41 42 interface MyString{ 43 String mySubString(String s,int x,int y); 44 }