Java教程

java8新特性-方法引用

本文主要是介绍java8新特性-方法引用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法引用:当要传递给Lambda体的操作,已经有了实现方法,可以使用方法引用。

方法引用与lambda表达式结合使用,可以进一步简化代码。

1)实例方法引用:特定对象的实例方法

2)对象方法引用:特定类型的任意对象的实例方法

3)静态方法引用

4)构造方法引用

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

interface A{
    String say();
}
public class Test {
    public static void main(String[] args) {
        Apple apple = new Apple(23,"zhsan");
        A a=()->apple.getName();
        System.out.println(a.say());
        A a1=apple::getName;
        System.out.println(a1.say());
    }
}

静态方法引用

public class Test {
    public static void main(String[] args) {
        Comparator<Integer> com =(x,y)->Integer.compare(x,y);
        System.out.println( com.compare(23,45));
        Comparator<Integer> comparator =Integer::compare;
        System.out.println(comparator.compare(23,45));
    }

 

对象方法引用:

public class Test {
    public static void main(String[] args) {
        //BiPredicate 接受参数,返回boolean
        BiPredicate<String,String> b=(x,y)->x.equals(y);
        System.out.println(b.test("2fdfg","43"));
        BiPredicate<String,String> b2=String::equals;
        System.out.println(b2.test("2fdfg","43"));
    }
}

构造方法引用:

interface A{
    public Object fun();
}
public class Test {
    public static void main(String[] args) {
     A a=()->new Apple();
     A a1=Apple::new;
    }

 

这篇关于java8新特性-方法引用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!