zoukankan      html  css  js  c++  java
  • jdk1.8 -- 方法推导 静态方法、实例方法、构造方法推导

    一.静态方法的推导

    public class MainTest {
        
        public static void main(String[] args) {
            
            // 正常情况下我们需要通过写一个consumer的方法来调用
            testConsumer("abc",(s)->System.out.println(s));
            System.out.println("=====================");
    
         //但是我们只是将一个内容输入,没必要这么麻烦,jdk1.8 已经为我们考虑到这样的写法
            testConsumer("abc",System.out::println);
            //语法:
            //    ContainingClass::staticMethodName 
    } 
        public static void testConsumer(String s,Consumer<String> c){ 
             c.accept(s);
        }
    }

    二.实例方法推导

    public class MainTest {
        
        public static void main(String[] args) {
              
            //2.实例方法的推导
         // 通常情况我们要获取一个字符串的值应该这样获取
            String value = "123";
            String valueOf1 = String.valueOf(value);
            System.out.println("======== valueOf1 ====== "+valueOf1);
            //通过lambda 表达式可知,这其实就是一个FunctionInterface,而在jdk1.8中定义了特殊的写法
            // 语法:
            //     containingObject::instanceMethodName 
            Function<String,String> f = String::valueOf;
            System.out.println("======== valueOf 2 ====== "+f.apply("123"));
             
        }
    }

    三.构造函数推导

    public class MainTest {
        
        
        public static void main(String[] args) {
            
            //3.构造函数推导
                    
            //3.1通常情况我们可以通过lambda推导来创建一个对象
            testConstruct("red", 100,(s,w)->new Apple(s,w));
            
            //3.2在jdk1.8 的lambda 中写法如下
            BiFunction<String,Long,Apple> fApple  = Apple::new;
            fApple.apply("red", 100L);
            
            //总结:构造函数其实就是一个静态方法而已,只不过是特殊的一个方法,为什么 new 一个对象还要这么麻烦
            //      我们通过这种写法可以在jdk1.8后面的应用中可以更加的快捷和方便
        }
        public static Apple testConstruct(String color,long weight,BiFunction<String,Long,Apple> f){
            return f.apply(color,weight);
        }
    }
  • 相关阅读:
    2017.10.20
    2017.10.14
    2017.10.19
    2017.10.18
    2017.10.17
    软件工程个人作业02
    构建之法读后感03
    构建之法阅读笔记02
    二柱子问题(随机产生四则运算题目)
    课后作业2(构建之法阅读计划)
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/10935380.html
Copyright © 2011-2022 走看看