我试图在 Android Studio 中通过登录控制台来查找 context
的变量类型。但是,当我
- 首先,将其存储在变量
typeContext
中,然后记录下来 - 直接记录
context!!::class.simpleName
o/p 是
主 Activity
com.example.android.testapp.MainActivity@95580a4!!::class.simpleName
两种情况都出乎意料地不同。有人可以解释为什么会这样吗?
override fun onAttach(context: Context?) {
super.onAttach(context)
val typeContext = context!!::class.simpleName
Log.d("my_debug", "type of context is given by: $typeContext or $context!!::class.simpleName")
{....}
}
最佳答案
在第二种情况下,Kotlin 没有按照您期望的方式解析您的字符串插值。它认为 $context!!::class.simpleName
中的 $
意味着你想插入 $context
的值(后跟字符串文字 !!...
).
要修复它,请使用 ${...}
准确指定要插入的表达式。
换句话说,将 $context!!::class.simpleName
更改为 ${context!!::class.simpleName}
。
关于android - 在 Kotlin 中记录变量的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56586634/