Java进阶之旅第七天
文章目录
方法引用
介绍
- 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体
- 满足条件
- 1.引用处必须是函数式接口
- 2.被引用的方法必须已经存在
- 3.被引用方法的形参和返回值需要跟抽象方法保持一致
- 4.被引用方法的功能要满足当前需求
- 方法引用符: ‘::’
- 引用方法需要使用类调用方法
代码展示
//简单演示(将数组逆序排序
Integer[] arr = {
1,2,3,4,5,6,7,8};
// 1.引用处必须是函数式接口(Arrays.sort的第二个参数)
// 2.被引用的方法必须已经存在(存在compareTo
// 3.被引用方法的形参和返回值需要跟抽象方法保持一致
// 4.被引用方法的功能要满足当前需求
Arrays.sort(arr,Main::compareTo);
System.out.println(Arrays.toString(arr));
}
public static int compareTo(int a,int b){
return b-a;
}
结果
[8, 7, 6, 5, 4, 3, 2, 1]
方法引用的分类
引用静态方法
格式
类名::静态方法
- 例子:
Integer::parseInt
代码
// 1.引用处必须是函数式接口(Arrays.sort的第二个参数)
// 2.被引用的方法必须已经存在(存在compareTo
// 3.被引用方法的形参和返回值需要跟抽象方法保持一致
// 4.被引用方法的功能要满足当前需求
ArrayList<String> arr = new ArrayList<>();
Collections.addAll(arr,"1","2",