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