<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 325,  comments - 25,  trackbacks - 0

    /*
     * 一、方法引用:若 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;
      
      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;
     }

    posted on 2018-03-06 08:35 長春語林科技 閱讀(122) 評論(0)  編輯  收藏 所屬分類: java8
    <2018年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

     

    長春語林科技歡迎您!

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国内自产拍自a免费毛片| 黄色成人网站免费无码av| yy6080亚洲一级理论| 亚洲国产精品美女久久久久| 曰批全过程免费视频在线观看| 国产亚洲精彩视频| 日日操夜夜操免费视频| 国产成人精品日本亚洲直接| 欧美a级成人网站免费| 亚洲精品国产国语| 日本高清色本免费现在观看| 免费一级毛片在线播放放视频| 在线观看片免费人成视频播放| 久久久久高潮毛片免费全部播放| 99精品国产免费久久久久久下载 | 亚洲精品国产suv一区88| 好男人www免费高清视频在线| 免费人成视频在线观看视频| 一二三四在线观看免费中文在线观看 | 无码av免费网站| 亚洲性猛交xx乱| 真实乱视频国产免费观看| 亚洲人AV在线无码影院观看| 亚洲AV蜜桃永久无码精品| aa级毛片毛片免费观看久| 久久丫精品国产亚洲av| 天天看免费高清影视| 无人视频在线观看免费播放影院| 青青青国产在线观看免费网站 | 亚洲精品视频在线看| 你懂的免费在线观看网站| 国产精品高清视亚洲一区二区| a毛片久久免费观看| 亚洲妓女综合网99| 国产人妖ts在线观看免费视频| 久久亚洲日韩看片无码| 亚洲一区综合在线播放| 日韩精品成人无码专区免费 | 国产区图片区小说区亚洲区| 亚洲人成人无码网www国产| 久久国产精品免费专区|