在Kotlin中有两个types参数个数不同的函数

这两个function相互冲突。 有没有解决这个问题的方法?

inline fun  foo() = ... inline fun  foo() = ... 

谢谢!

编辑:

我发现方便(至少对我来说)这个问题的解决方案:

 inline fun  foo() = foo() inline fun  foo(type1: KClass = T::class, type2: KClass = I::class) = ... 

如果您选择仅添加一个参数,则可以更简洁。

以后你可以像这样使用它:

 val x = foo() val y = foo() 

这就是我所需要的。

2 Solutions collect form web for “在Kotlin中有两个types参数个数不同的函数”

从编译器的角度来看,这些函数具有相同的签名。 types参数不是函数签名的一部分; 它可以被编译器自动推断出来,因此不会消除对不同重载的调用的歧义。

您需要为这些function分配不同的名称。

将注释@JvmName("foo2")到其中一个函数中。

  • 如何将List <转换为List ?
  • 什么是获得电话意图权限的正确方法
  • Dagger2限定符不能与Kotlin一起使用?
  • Kotlin:如何处理任何输入types和给定输出types的函数
  • 在Kotlin中写入一个等于Int.MIN_VALUE的hex整数字面值
  • 参数个数未知的Lambdatypes
  • 使用参数化函数实现接口
  • Kotlin:必需:kotlin.Boolean。 find:kotlin.Boolean?
  • 在Kotlin for Android中触发一个接口
  • 如何传递次kotlin构造函数variables?
  • 如何使用kotlin显示在recyclerview中选择的单个项目
  • Kotlin language will be the best programming language for Android.