Преобразование Java-функций в Kotlin не выполняется

Попытка конвертировать некоторый Java-код в kotlin, учитывая следующий метод

public class Option<T> { public <U> Option<U> map(Function<T, U> mapper) { throw new IllegalStateException(); } } 

преобразование котлин даст

введите описание изображения здесь

Я не могу понять, в чем проблема, и как создать эквивалентный метод в котлин? (thats java.util.Function )

PS не мог придумать лучшего ответа на вопрос … не стесняйтесь меняться.

Чтобы использовать java.util.function.Function , вам необходимо явно ее импортировать:

 import java.util.function.Function 

Это потому, что по умолчанию Function разрешена для kotlin.Function .

Но в Котлине есть типы функций , и более идиоматическая реализация будет

 fun <U> map(mapper: (T) -> U): Option<U> { // ... }