Java系列文章目录
补充内容 Windows通过SSH连接Linux
第一章 Linux基本命令的学习与Linux历史
文章目录
- Java系列文章目录
- 一、前言
- 二、学习内容:
- 三、问题描述
- 四、解决方案:
- 4.1 方法引用
- 五、总结:
一、前言
- Calculator::plus
- 看到
::
好奇有什么用
二、学习内容:
- 方法引用
三、问题描述
- 不知道使用的场景只知道他是引用
四、解决方案:
4.1 方法引用
方法引用就像是
给一个方法起个别名
,这样我们可以更方便地用这个别名来调用它。
- 类似于给某个工具添加一个标签,方便以后使用。
参考代码:
class Calculator { // 加法方法 public int plus(int a, int b) { return a + b; }
} @FunctionalInterface
interface MyNum { int calculate(int a, int b);
} public class Main { public static void main(String[] args) { // 创建一个计算器实例 Calculator calculator = new Calculator(); // 使用方法引用来指向加法方法 MyNum add = calculator::plus; // 这里是方法引用 // 调用方法,计算 2 + 5 int result = add.calculate(2, 5); // 输出结果 System.out.println(result); // 输出 7 }
}
- 方法对比
// 使用 lambda 表达式
MyNum add = (a, b) -> calculator.plus(a, b); // 使用方法引用
MyNum add = calculator::plus;
🌟MyNum add = Calculator::plus;
将 Calculator 的 plus 方法引用赋值给 add。
🌟add.calculate(2, 5);
实际上执行了 calculator.plus(2, 5);,返回结果 7。
五、总结:
🌟语句复杂的时候用Lambda表达式
🌟语句简单或适合函数式编程用方法引用
参考代码:
// 使用 lambda 表达式
MyNum add = (a, b) -> calculator.plus(a, b); // 使用方法引用
MyNum add = calculator::plus;
- 如使用 Stream API,方法引用可以让代码更简洁
List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); // 使用 lambda 表达式
names.forEach(name -> System.out.println(name)); // 使用方法引用
names.forEach(System.out::println);
(后续有遇到问题再添加)
声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。