中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java 8方法引用與構造器引用,數組引用舉例分析

發布時間:2021-11-24 16:24:31 來源:億速云 閱讀:130 作者:iii 欄目:大數據

這篇文章主要講解了“Java 8方法引用與構造器引用,數組引用舉例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java 8方法引用與構造器引用,數組引用舉例分析”吧!

import org.junit.Test;import java.io.PrintStream;import java.util.Comparator;import java.util.function.BiFunction;import java.util.function.BiPredicate;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Supplier;/* * 一、方法引用:若 Lambda 體中的功能,已經有方法提供了實現,可以使用方法引用 *             (可以將方法引用理解為 Lambda 表達式的另外一種表現形式) * 
 * 1. 對象的引用 :: 實例方法名 * 
 * 2. 類名 :: 靜態方法名 * 
 * 3. 類名 :: 實例方法名 * 
 * 注意: *      ①方法引用所引用的方法的參數列表與返回值類型,需要與函數式接口中抽象方法的參數列表和返回值類型保持一致! *      ②若Lambda 的參數列表的第一個參數,是實例方法的調用者,第二個參數(或無參)是實例方法的參數時,格式: ClassName::MethodName * 
 * 二、構造器引用 :構造器的參數列表,需要與函數式接口中參數列表保持一致! * 
 * 1. 類名 :: new * 
 * 三、數組引用 * 
 *     類型[] :: new; * 
 * 
 */public class TestMethodRef {   //數組引用   @Test   public void test8(){
      Function<Integer, String[]> fun = (args) -> new String[args];      String[] strs = fun.apply(10);      System.out.println(strs.length);            System.out.println("--------------------------");            Function<Integer, Employee[]> fun2 = Employee[] :: new;      Employee[] emps = fun2.apply(20);      System.out.println(emps.length);   }   
   //構造器引用   @Test   public void test7(){
      Function<String, Employee> fun = Employee::new;      Employee em=fun.apply("www");      System.out.println(em.getName());            BiFunction<String, Integer, Employee> fun2 = Employee::new;   }   
   @Test   public void test6(){
      Supplier<Employee> sup = () -> new Employee();      System.out.println(sup.get());            System.out.println("------------------------------------");            Supplier<Employee> sup2 = Employee::new;      System.out.println(sup2.get());   }   
   //類名 :: 實例方法名   @Test   public void test5(){
      BiPredicate<String, String> bp = (x, y) -> x.equals(y);      System.out.println(bp.test("abcde", "abcde"));            System.out.println("-----------------------------------------");            BiPredicate<String, String> bp2 = String::equals;      System.out.println(bp2.test("abc", "abc"));            System.out.println("-----------------------------------------");                  Function<Employee, String> fun = (e) -> e.show();      System.out.println(fun.apply(new Employee()));            System.out.println("-----------------------------------------");            Function<Employee, String> fun2 = Employee::show;      System.out.println(fun2.apply(new Employee()));         }   
   //類名 :: 靜態方法名   @Test   public void test4(){
      Comparator<Integer> com = (x, y) -> Integer.compare(x, y);            System.out.println("-------------------------------------");            Comparator<Integer> com2 = Integer::compare;   }   
   @Test   public void test3(){
      BiFunction<Double, Double, Double> fun = (x, y) -> Math.max(x, y);      System.out.println(fun.apply(1.5, 22.2));            System.out.println("--------------------------------------------------");            BiFunction<Double, Double, Double> fun2 = Math::max;      System.out.println(fun2.apply(1.2, 1.5));   }   //對象的引用 :: 實例方法名   @Test   public void test2(){
      Employee emp = new Employee(101, "張三", 18, 9999.99);            Supplier<String> sup = () -> emp.getName();      System.out.println(sup.get());            System.out.println("----------------------------------");            Supplier<String> sup2 = emp::getName;      System.out.println(sup2.get());   }   
   @Test   public void test1(){
      PrintStream ps = System.out;      Consumer<String> con = (str) -> ps.println(str);      con.accept("Hello World!");            System.out.println("--------------------------------");            Consumer<String> con2 = ps::println;      con2.accept("Hello Java8!");            Consumer<String> con3 = System.out::println;   }
   
}

感謝各位的閱讀,以上就是“Java 8方法引用與構造器引用,數組引用舉例分析”的內容了,經過本文的學習后,相信大家對Java 8方法引用與構造器引用,數組引用舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄丰县| 桦甸市| 昭苏县| 滕州市| 房产| 屏东市| 休宁县| 新津县| 九龙县| 济源市| 葫芦岛市| 乌兰县| 钟山县| 五常市| 庆安县| 华池县| 柳河县| 凯里市| 沁水县| 新宾| 太康县| 灵武市| 同德县| 长治市| 泗阳县| 绍兴县| 溧阳市| 舒兰市| 江源县| 宝坻区| 佛学| 类乌齐县| 安泽县| 永德县| 广昌县| 穆棱市| 额尔古纳市| 洪湖市| 太仓市| 文山县| 长岭县|