栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

SpringBoot2.0响应式编程系列(二)-函数式编程和lambda表达式

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot2.0响应式编程系列(二)-函数式编程和lambda表达式



函数接口



方法引用
package lambda;import java.util.ArrayList;import java.util.List;import java.util.function.Consumer;import java.util.function.IntUnaryOperator;class Dog {
   private String name = "哮天犬";   
   private int food = 10;   public Dog() {

   }   
   public Dog(String name) {       this.name = name;
   }   
   public static void bark(Dog dog) {
       System.out.println(dog + "叫了");
   }   
   public int eat(int num) {
       System.out.println("吃了" + num + "斤狗粮");       this.food -= num;       return this.food;
   }

   @Override   public String toString() {       return this.name;
   }
}public class MethodRefrenceDemo {

   public static void main(String[] args) {
       Dog dog = new Dog();
       dog.eat(3);       // 方法引用
       Consumer consumer = System.out::println;
       consumer.accept("接受的数据");       // 静态方法的方法引用
       Consumer consumer2 = Dog::bark;
       consumer2.accept(dog);       // 非静态方法,使用对象实例的方法引用
       // Function function = dog::eat;
       // UnaryOperator function = dog::eat;
       IntUnaryOperator function = dog::eat;       
       // dog置空,不影响下面的函数执行,因为java 参数是传值
       dog = null;
       System.out.println("还剩下" + function.applyAsInt(2) + "斤");       //
       // // 使用类名来方法引用
       // BiFunction eatFunction = Dog::eat;
       // System.out.println("还剩下" + eatFunction.apply(dog, 2) + "斤");
       //
       // // 构造函数的方法引用
       // Supplier supplier = Dog::new;
       // System.out.println("创建了新对象:" + supplier.get());
       //
       // // 带参数的构造函数的方法引用
       // Function function2 = Dog::new;
       // System.out.println("创建了新对象:" + function2.apply("旺财"));

       // 测试java变量是传值还是穿引用
       List list = new ArrayList<>();
       test(list);

       System.err.println(list);
   }   private static void test(List list) {       list = null;
   }
}
类型推断



作者:紫霞等了至尊宝五百年
链接:https://www.jianshu.com/p/88a173c496dc
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/235633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号