-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adapter泛型问题 #15
Comments
|
方式一 写法 不需要
方式二写法需要
第一种 情况下 是全局 adapter ,IDE 根据 当前加载类推断出 data数据的类型 为
无法向下推断具体的子类型 ,所以提示需要强转 。 |
val adapterData: MutableList<MessageData> = adapter.data as MutableList<MessageData> 解释一下,不论kotlin,还是java,这都需要 显式转换 类型。编译器无法安全的 隐式转换。这是语法基础。 val adapterData: MutableList<MessageData> 这里,你定义了一个变量 然后解释下等号后面的: 所以 我再给你举一个例子: val a :Any = ""
val b: String = a //错误,Any类型无法赋值给String类型
val b: String = a as String //正确,显式转换为String
val b = a // 正确,此处的b,编译器自动类型推断为Any类型,b与a同为Any 希望你能理解 |
当我在OnItemClickListener中通过adapter.data获取数据的时候,我已经指定了数据类型,但是它还是要我强转成已经指定的数据类型:
The text was updated successfully, but these errors were encountered: