我如何用Java的泛化泛型调用Kotlin方法?
我在Kotlin中有以下方法:
inline fun <reified T> foo() { }
如果我试图从Java调用这样的:
myObject.foo();
或者像这样:
myObject.<SomeClass>foo();
我得到以下错误:
java:foo()在MyClass中有私人访问
我怎样才能从Java调用foo
方法?
没有办法从Java调用Kotlin inline
函数,因为它们必须在调用位置进行转换和内联(在这种情况下, T
应该用每个调用站点的实际类型替换,但是inline
函数的编译器逻辑不仅仅是这个),Java编译器预计完全不知道这一点。