/**
* 将一种类型转换为另一种类型,如果类型转换不允许,返回null
* */
inline fun <reified T> Any.asType(): T? {
return if (this is T) {
this
} else {
null
}
}
fun testAsType(charSequence: CharSequence?) {
//书写不流畅,需要回到开始出增加()
(charSequence as? String)?.length
//一气呵成书写
charSequence?.asType<String>()?.length
}