登录
首页 >  文章 >  java教程

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

时间:2024-12-01 22:51:52 265浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Java方法引用“类::实例方法”的原理是什么? 》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

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

为什么 java 可以通过 “类::实例方法” 获取到方法的引用?

java 的方法引用提供了获取方法引用的一种简洁方式,语法为 “类::实例方法”。对于这种引用方式,其原理和规则如下:

  • 引用方法参数与抽象方法参数对应:方法引用的参数必须与抽象方法的第 2 个至倒数第 1 个参数保持一致。由于实例方法的第一个参数隐含为 this,因此只有在 this 的类型与抽象方法第一个参数类型一致时,才可以使用类名引用实例方法。

示例:

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

在该示例中,map 操作使用 string::touppercase 来引用 string.touppercase() 方法。这是因为 stream 中的数据类型为 string,和 string.touppercase() 方法的参数一致。此外,目标引用(this)是 stream 中的元素,其类型与 collections.addall 中的第一个参数类型(string)一致。因此,“类::实例方法”的引用方式符合要求。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Java方法引用“类::实例方法”的原理是什么? 》文章吧,也可关注golang学习网公众号了解相关技术文章。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>