Referencia al método de una instancia particular en Kotlin
En Java 8 podemos tener una referencia a un método de una instancia de Clase. Aquí hay un ejemplo
Function1<Integer, Object> ref = a::getItem;
a es una instancia de la claseAdapter
que tiene el metodoObject getItem(int i)
.
¿Podemos hacer lo mismo en Kotlin? Intenté la misma sintaxis sin éxito. Hasta ahora solo pude crear una referencia de método de extensión como esta:
val ref: Adapter.(Int) -> Any = Adapter::getItem
Pero aquí todavía necesito una instancia de unAdapter
para invocarlo. La otra alternativa que veo es definir una lambda como esta:
val ref: (Int) -> Any = { a.getItem(it) }