当前位置 : 主页 > 网络编程 > 其它编程 >

Java8六大新特性之四方法引用和构造器调用

来源:互联网 收集:自由互联 发布时间:2023-07-02
lamdba表达式可以进行简化下面介绍了6种对lamdba进行简化的方式也称之为对方法或构造器进行引用。如果一个lambda表达式代表的只是直接调用这个方法也称之为对方法或构造器进行引用。
lamdba表达式可以进行简化下面介绍了6种对lamdba进行简化的方式也称之为对方法或构造器进行引用。如果一个lambda表达式代表的只是直接调用这个方法也称之为对方法或构造器进行引用。

如果一个lambda表达式代表的只是直接调用这个方法那么最好还说用名称来调用它而不是去描述如何调用它。显示地指明方法的名称可以让你的代码可读性更好。

1. 参数类别和返回类型必须与函数式接口中的抽象方法一致 2. 如果参数列表中的第一个参数是实例方法的调用者第二个参数是实例方法的参数则可以用ClassName::method

对象::实例方法  -- 方法引用

//用lambda表达式实现Consumer consumer x -> System.out.println(x);consumer.accept("hello world");//out实现了println方法Consumer consumer1 System.out::println;consumer1.accept("hello word 1");

类名::静态方法  -- 方法引用

//用lambda表达式实现BiFunction biFun (x,y) -> Integer.compare(x,y);//类名静态方法BiFunction biFun1 Integer::compare;int result1 biFun.apply(100,200);int result2 biFun1.apply(100,200);

类名::实例方法  -- 方法引用

//用lambda表达式实现BiFunction fun1 (s1,s2)-> s1.equals(s2);//类名实例方法BiFunction fun2 String::equals;fun1.apply("hello","hello");fun2.apply("hello","hello");

类名::new          -- 构造器引用

//用lambda表达式实现Supplier sup ()->new String();//构造方法引用 类名newSupplier sup1 String::new;

类名::new  -- 构造器引用

//用lambda表达式实现Function function x->new Integer(x);//类名newFunction function1 Integer::new;function1.apply("100");

String[]::new     --数组引用

//用lambda表达式实现Function array x -> new String [x];//类型[]::newFunction array1 String[]::new;array1.apply(5);

所有代码执行结果

没有报错

100010Process finished with exit code 0

 

上一篇:三天快速入门SpringDataJPA之day03
下一篇:没有了
网友评论