2016-04-15 22 views
2

試圖將一些Java代碼來科特林,給出以下方法JAVA功能轉換到科特林失敗

public class Option<T> { 

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

科特林轉換會給這個

enter image description here

我不明白什麼的問題就在這裏,以及如何在kotlin中創建等價方法? (即java.util.Function

P.S.不能拿出一些更好的問題總結...隨時改變。

回答

8

要使用java.util.function.Function,你必須明確地導入:

import java.util.function.Function 

這是因爲默認情況下Function被解析爲kotlin.Function

但也有function types在科特林,更地道的實施將

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

哦愚蠢的錯誤,謝謝 – vach