2017-03-11 86 views
10

我在科特林下面的方法:如何使用Java中的泛化泛型調用Kotlin方法?

inline fun <reified T> foo() { 

} 

如果我試圖從Java這樣調用這個:

myObject.foo(); 

OR這樣的:

myObject.<SomeClass>foo(); 

我得到以下錯誤:

java: foo() has private access in MyClass

如何從Java調用foo方法?

回答

11

有沒有辦法來調用與Java的具體化類型參數科特林inline功能,因爲他們必須轉型,並在調用點內聯(在你的情況,T應在每個調用站點的實際類型取代,但還有很多更多編譯器邏輯的功能不止於此),並且Java編譯器預計完全不知道這一點。