在使用Kotlin泛型时,T和Any之间有什么区别?

qni6mghb  于 2023-05-29  发布在  Kotlin
关注(0)|答案(1)|浏览(323)

有什么区别吗?
以下两者之间的区别是什么:

class SomeClass<T>(var param: T)

class SomeClass<Any>(var param: Any)


它们之间有什么区别吗?看起来这些类的工作方式是一样的。

hlswsv35

hlswsv351#

是的,它们基本上是一样的。
声明泛型类的语法是:

class ClassName<GenericClassType>

因此,在您的示例中,TAny都是标识符。但是,第一个(T)看起来是一个更好的选择,因为Any隐藏了一个Kotlin类型。
kotlin.Any参考:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/)。

相关问题