有什么区别
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 作为函数参数或扩展函数类名有什么区别吗?
使用 Any 作为集合类型是否比使用具体类型消耗更少的内存?
\n认为
\nval list1 = listOf<Any>("ABC", "DEF", "GHI", "JKL", "MNO")\nval list2 = listOf<String>("ABC", "DEF", "GHI", "JKL", "MNO")\nRun Code Online (Sandbox Code Playgroud)\n我想知道是否list1消耗的内存比list2类型String分配内存来存储其属性(例如size)要少
list1那么,如果我不使用任何String类型函数,是不是更好?
\n编辑
\n如果我想使用集合中的其他类型怎么办?
list = listOf<Any>("ABC", 123, 12.34)\nRun Code Online (Sandbox Code Playgroud)\n它比效率更高吗
\nlist = listOf<String>("ABC", "123", "12.34")\nRun Code Online (Sandbox Code Playgroud)\n
\n编辑 2
\n感谢@Jo\xc3\xa3o Dias 和@gidds
正如@gidds 所说:
\n\n\n该列表不直接包含 String 对象,或其包含引用的任何对象 \xe2\x80\x94 。
\n
\nString 引用的大小与 Any 引用或任何其他类型的引用完全相同。\xe2\x80\x82
\n …