Tag: 重载

Kotlin编译器的types推断不能选择调用哪个方法(与genericstypes不一致)

所以,我有一些这些签名的Java方法(为简单起见,删除了注释和代码体): public class JavaClass { public static E join(E… array) { … } public static E join(CharSequence separator, E… array) { … } } 我在Kotlin中有一些代码,它调用了’join’方法: class KtClass { fun test(vararg array: String) { JavaClass.join(*array) } } 到现在为止还挺好; 它会传播可变参数并称之为方法签名。 好的! 例如,如果我想用“分隔符”参数来调用后一个方法签名,就会出现问题: class KtClass { fun test(vararg array: String) { JavaClass.join(“”, *array) } } 这段代码不会编译。 编译器无法决定调用哪个方法。 错误: […]