Referência ao método de uma instância específica no Kotlin
No Java 8, podemos ter uma referência a um método da instância de uma classe. Aqui está um exemplo
Function1<Integer, Object> ref = a::getItem;
a é uma instância da classeAdapter
que tem o métodoObject getItem(int i)
.
Podemos fazer o mesmo em Kotlin? Eu tentei a mesma sintaxe sem sucesso. Até agora, só consegui criar uma referência de método de extensão assim:
val ref: Adapter.(Int) -> Any = Adapter::getItem
Mas aqui eu ainda preciso de uma instância de umAdapter
invocá-lo. O outro alterante que vejo é definir um lambda assim:
val ref: (Int) -> Any = { a.getItem(it) }