常见异常
1.Not nullable value required to call an ‘iterator()’ method on for-loop range
这个错误的原因是 for 迭代中的数组不可以为null
解决办法
使用orEmpty(), 如果这个数组为null,则orEmpty() 返回一个空的数组,否则返回原数组
2.Operator call corresponds to a dot-qualified call ‘adapter?.getItemCount().compareTo(0)’ which is not allowed on a nullable receiver ‘adapter?.getItemCount()’.
这个错误的原因是因为adapter可以为null,如果adapter为null,则adapter?.getItemCount()则返回null,但是"null"不可以和int值比大小
解决办法
使用 A ?: B 表达式,?: 表示的意思是,当对象 A 值为 null 的时候,那么它就会返回后面的对象 B。
此时如果 adapter 为 null,则 adapter?.getItemCount() 返回为null,则经过 ?:处理后返回:后面的数值 0