• (3)方法引用


    首先定义一个接口

    public interface Calculation<T> {
        public T colculate(T t1, T t2);
    }

    这个接口只有一个方法也就是计算,下面展示三种使用这个接口的方式。

    //匿名内部类
    @Test
    public void test() {
        Calculation<Integer> calculation = new Calculation<Integer>() {
            @Override
            public Integer colculate(Integer num1, Integer num2) {
                return num1 + num2;
            }
        };
        Integer result = calculation.colculate(12);
        System.out.println(result);
    }
    //lambda表达式
    @Test
    public void test2() {
        Calculation<Integer> calculation = (num1, num2) -> num1 + num2;
        Integer result = calculation.colculate(12);
        System.out.println(result);
    }
    //方法引用
    @Test
    public void test3(){
        Calculation<Integer> calculation = Integer::sum;
        Integer result = calculation.colculate(12);
        System.out.println(result);
    }

    我感觉这个很明显的看出了匿名内部类的啰嗦,所以主要看一下lambda表达式和方法引用。

    他们都是把方法传给了一个对象,方法引用看起来更简洁,因为Integer::sum这个方法的具体代码就是接受两个int值,返回一个int值。

    和colculate方法的入参和返回值是一样的,所以这里是可以传递这个方法进去的。

    下面介绍java8支持的函数引用:

    首先就是上述使用的Integer::sum,类名+双冒号+静态方法,还有对象+双冒号+实例方法,还有类名+双冒号+new

  • 相关阅读:
    2019 SDN上机第5次作业
    hdu 2553 N皇后问题(递归)
    百练oj 2766 最大子矩阵和
    POJ 1664 放苹果
    POJ 3617 Best Cow Line(贪心)
    HDU 2013 ACM/ICPC Asia Regional Hangzhou Online ------ Zhuge Liang's Mines
    HDU 4712 Hamming Distance (随机算法)
    HDU 1171 Big Event in HDU
    HDU 1085 Holding Bin-Laden Captive!
    HDU 1028 母函数
  • 原文地址:https://www.cnblogs.com/zhandouBlog/p/9383229.html
Copyright © 2020-2023  润新知