Jir*_*ire 12 kotlin
看来我无法在Kotlin中使用对象的方法引用.此功能存在于Java中.
例如,在Java中,如果我循环遍历字符串以将每个字符附加到writer:
string.forEach(writer::append);
但在Kotlin使用相同的语法不起作用,因为:
And*_*lav 21
目前,Kotlin仅支持对顶级和本地函数以及类成员的引用,而不支持对单个实例的引用.请参阅此处的文档.
所以,你可以说Writer::append并获得一个函数Writer.(Char) -> Writer,但目前不支持获取writer实例并说writer::append要获取函数(Char) -> Writer.
Writer::append
Writer.(Char) -> Writer
writer
writer::append
(Char) -> Writer
Ily*_*lya 5
从 Kotlin 1.1 开始writer::append是一个完全有效的绑定可调用引用。
但是,您仍然无法编写,string.forEach(writer::append)因为Writer#append方法返回一个Writer实例并forEach期望一个返回Unit.
string.forEach(writer::append)
Writer#append
Writer
forEach
Unit
归档时间:
10 年,2 月 前
查看次数:
7478 次
最近记录:
6 年,4 月 前