首页 > 其他分享 >方法引用基础使用

方法引用基础使用

时间:2022-12-10 11:11:47浏览次数:37  
标签:arr int 基础 Arrays 引用 方法 public

package com.Lucky.Function;

import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Collector;

/*
  方法引用: 将已经存在的方法进行引用
         使用条件:1.引用地方要是函数式接口:@FunctionalInterface
                 2.被引用的方法必须存在
                 3.被引用的方法的形参以及返回值要跟抽象方法的保持一致
                 4.被引用的方法要满足当前抽象方法的需求
 */
public class Function1 {

    public static void main(String[] args) {
        Integer[] arr={1,2,3,4,5,6};

        //1.匿名内部类
            Arrays.sort(arr, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1-o2;
                }
            });
        System.out.print("匿名内部类:"+Arrays.toString(arr)+"\t");
        System.out.println();


        //2.lamda表达式
        Arrays.sort(arr, (o1,o2) ->o1-o2);
        System.out.print("lamda表达式:"+Arrays.toString(arr)+"\t");
        System.out.println();

        //2.方法引用:      方法引用符 ::
        Arrays.sort(arr,Function1::subInt);
        System.out.print("方法引用标志 ::"+Arrays.toString(arr)+"\t");





    }
    //被引用的方法
    public static int subInt(int val,int v) {
        return val-v;
    }

    public  int sub(int val,int v) {
        return val-v;
    }

    public  boolean filter(String s) {
        return s.startsWith("张")&& s.length() == 3;
    }
}

 以上属于静态方法的引用

标签:arr,int,基础,Arrays,引用,方法,public
From: https://www.cnblogs.com/Lucky-only/p/16971260.html

相关文章