В Kotlin вместо поставщика вы используете функциональный синтаксис для типа. В этом случае эквивалент вашего Supplier<SomeClass?>
будет () -> SomeClass?
(при условии, что ES равен object
, поскольку именно так вы и использовали его в своем примере кода):
class CSS(/*...*/) {
private val ref: () -> SomeClass? = ES::issue
}
Но если вам нужно Используйте поставщика специально, чтобы его можно было легко использовать с кодом Java, вы можете заключить ссылку на получатель в реализацию поставщика:
class CSS(/*...*/) {
private val ref: Supplier<SomeClass?> = Supplier(ES::issue)
}
Обновить Если вы хотите получить получателя без указания c экземпляр класса, аналогично Function<ES, SomeClass>
в Java, тогда вам нужно сделать ES
параметром функции.
Либо
private val ref: (ES) -> SomeClass? = ES::issue
, либо
private val ref: ES.() -> SomeClass? = ES::issue
Я не верю, что есть способ сделать это с Поставщиком, но я не думаю, что вы могли бы сделать это также в Java с Поставщиком.