1. 程式人生 > 其它 >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;
    }