Java Kotlin lambda身体里的“it”是什么?

Java Kotlin lambda身体里的“it”是什么?,java,file,jvm,kotlin,Java,File,Jvm,Kotlin,例如,在以下两个代码中: File("./file1.txt").forEachLine { println(it) } 及 在这段代码中,它是什么意思?变量是lambda中的一个隐式参数 另一个有用的约定是,如果函数文本只有一个参数,则可以省略它的声明(连同->),并且它的名称将是it: 请参考以下说明 it:单个参数的隐式名称 lambda表达式只有一个参数是很常见的 如果编译器能够自行识别签名,则不允许 声明唯一的参数并省略->。参数将为 以其名称隐式声明: 在本例中,列表大小为7。使

例如,在以下两个代码中:

File("./file1.txt").forEachLine { println(it) }

在这段代码中,它是什么意思?

变量是lambda中的一个隐式参数

另一个有用的约定是,如果函数文本只有一个参数,则可以省略它的声明(连同->),并且它的名称将是it


请参考以下说明

it:单个参数的隐式名称

lambda表达式只有一个参数是很常见的

如果编译器能够自行识别签名,则不允许 声明唯一的参数并省略->。参数将为 以其名称隐式声明:

在本例中,列表大小为7。使用it,列表大小为5。仅用于循环检查>2个数字

尺寸=5,输出为3,4,5,6,7


以下是kotlin组织文档:

比如说

ints.filter { value -> value > 0 }
您可以将其简化为:

ints.filter { it > 0 }
当你不能使用

ints.filter { value > 0 }

我们如何将其重命名为参数?只需输入一些变量名并使用它即可。例如,randomList.map{myVariable->print(myVariable)}
ints.filter { value -> value > 0 }
ints.filter { it > 0 }
ints.filter { value > 0 }