我是 Kotlin 语言的新手,但是我刚刚遇到了一些其他语言中没有的奇怪行为,所以我想问为什么我不能这样做:
fun <T> methodName()
{
// whatev~
}
fun <T, K> methodName()
{
// whatev~
}
此代码引发“冲突重载”错误。
在其他语言中,例如 C#,我可以做到这一点,这是一个非常巧妙的技巧,只有一种方法可以同时适用于一种或多种类型。
我发现的唯一解决方法是在每个新方法中添加一个我永远不会使用的可选参数,例如:
fun <T> methodName()
{
}
fun <T, K> methodName(crappyParam: String = "")
{
}