小编Joo*_*o21的帖子

Kotlin 中的泛型函数与任意函数

有什么区别

inline fun <reified T> T.TAG(): String = T::class.java.simpleName
Run Code Online (Sandbox Code Playgroud)

fun Any.TAG(): String = this::class.java.simpleName
Run Code Online (Sandbox Code Playgroud)

使用泛型和 Any 作为函数参数或扩展函数类名有什么区别吗?

generics any kotlin

4
推荐指数
1
解决办法
467
查看次数

Kotlin 集合中的任何类型与嵌套具体类型

使用 Any 作为集合类型是否比使用具体类型消耗更少的内存?

\n

认为

\n
val list1 = listOf<Any>("ABC", "DEF", "GHI", "JKL", "MNO")\nval list2 = listOf<String>("ABC", "DEF", "GHI", "JKL", "MNO")\n
Run Code Online (Sandbox Code Playgroud)\n

我想知道是否list1消耗的内存比list2类型String分配内存来存储其属性(例如size)要少

\n

list1那么,如果我不使用任何String类型函数,是不是更好?

\n


\n编辑

\n如果我想使用集合中的其他类型怎么办?

\n
list = listOf<Any>("ABC", 123, 12.34)\n
Run Code Online (Sandbox Code Playgroud)\n

它比效率更高吗

\n
list = listOf<String>("ABC", "123", "12.34")\n
Run Code Online (Sandbox Code Playgroud)\n



\n编辑 2
\n感谢@Jo\xc3\xa3o Dias 和@gidds

\n

正如@gidds 所说:

\n
\n

该列表不直接包含 String 对象,或其包含引用的任何对象 \xe2\x80\x94 。

\n
\n
\n

String 引用的大小与 Any 引用或任何其他类型的引用完全相同。\xe2\x80\x82

\n …

string collections any kotlin

0
推荐指数
1
解决办法
246
查看次数

标签 统计

any ×2

kotlin ×2

collections ×1

generics ×1

string ×1