Ссылка на метод конкретного экземпляра в Котлине
В Java 8 у нас может быть ссылка на метод экземпляра класса. Вот пример
Function1<Integer, Object> ref = a::getItem;
а является экземпляром классаAdapter
у которого есть методObject getItem(int i)
.
Можем ли мы сделать то же самое в Котлине? Я попробовал тот же синтаксис без успеха. До сих пор я мог только создать ссылку на метод расширения следующим образом:
val ref: Adapter.(Int) -> Any = Adapter::getItem
Но здесь мне все еще нужен экземплярAdapter
чтобы вызвать это. Другой альтернативный вариант, который я вижу, определяет лямбду следующим образом:
val ref: (Int) -> Any = { a.getItem(it) }