gpt4 book ai didi

Java - 使用::时函数是否在内部接收参数?

转载 作者:行者123 更新时间:2023-11-30 06:42:13 26 4
gpt4 key购买 nike

我有些困惑,想理清我的概念。

假设我们有以下声明:

.map(i -> Tests.doubleIt(i))

因此,当使用 :: 时:

.map(Tests::doubleIt)

那么,i 参数是否由doubleIt 内部接收并在内部传递给doubleIt 方法?

:: 的情况下,我们能否知道 i 是如何接收并传递给 doubleIt 方法的内部机制?

最佳答案

map 中的代码调用您传递给它的函数 (doubleIt) 直接将参数传递给它,doubleIt 接收到它的第一个形式范围。相比之下,对于您的 lambda 版本,map 使用参数调用您的 lambda,您的 lambda 接收该参数作为其 i 参数,然后您的 lambda 调用 doubleIt 使用 i 作为参数。因此,使用方法引用(理论上)比使用 lambda 更直接。

关于Java - 使用::时函数是否在内部接收参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53903179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com