Hello! 欢迎来到小浪资源网!


Java方法引用“类::实例方法”的原理是什么?


Java方法引用“类::实例方法”的原理是什么?

Java方法引用“类::实例方法”的原理

在java中,我们可以通过“类::实例方法”的方式获取实例方法引用。这种引用方式背后的原理是什么?

根据java语言规范中的规定,当编译时声明是一个实例方法时,方法引用表达式的运行时计算过程如下:

  • 调用第一个参数作为方法目标对象
  • 将第二个到最后一个参数作为方法调用参数。

例如,代码:

立即学习Java免费学习笔记(深入)”;

ArrayList<String> list = new ArrayList<>(); Collections.addAll(list, "a", "b", "c");  // 将集合中的字母转为大写 list.stream()         // 数据流中的数据类型为 String,所以可以引用 String 类中的实例方法         .map(String::toUpperCase)         .forEach(System.out::println);

由于数据流中的数据类型是string,因此可以引用string类中的实例方法。string::touppercase表示调用string类的touppercase实例方法,并将数据流中的每个元素作为调用参数。

综上所述,java通过“类::实例方法”方式获取实例方法引用的原理是:将调用对象的类型作为方法目标,将后面的参数作为方法调用参数。

相关阅读