【发布时间】:2023-03-11 19:23:01
【问题描述】:
现在我正在学习 Kotlin,我有一个问题。我正在编写下面的代码,我收到错误“整数文字不符合预期的字符串类型”。
fun main() {
fun <Any> MutableList<Any>.yaz(name : Any) : Any = name;
var mutableList : MutableList<String> = ArrayList<String>()
println(mutableList.yaz(1))
println(mutableList.yaz("Selam"))
}
我在哪里犯了错误?如果您能提供帮助,我将非常高兴。谢谢!
当我写如下时它可以工作,但我不明白为什么。
fun <Any> MutableList<out Any>.yaz(name : Any) : Any = name;
【问题讨论】:
-
您是否打算将
Any表示通常的类型kotlin.Any?因为它不是:通过指定<Any>,它只是yaz()定义中的类型参数的名称。 (这就是为什么我们通常使用单个字母作为类型参数,以避免这种混淆。) -
和 有什么区别? @gidds