欢迎光临
我们一直在努力

Kotlin如何实现安全转换

这篇文章将为大家详细讲解有关Kotlin如何实现安全转换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

 Safe Typecasting(安全转换)

在 Android 中需要安全类型转换。当您首先在 Kotlin 中进行类型转换时,您可以这样实现:

var feedFragment: FeedFragment? = supportFragmentManager
 .findFragmentByTag(TAG_FEED_FRAGMENT) as FeedFragment

但实际上这样只能导致崩溃。当调用『as』时,它将进行对象转换,但如果转换的对象为『null』时,则会报错。正确的使用方式应该是用『as?』:

var feedFragment: FeedFragment? = supportFragmentManager
 .findFragmentByTag(TAG_FEED_FRAGMENT) as? FeedFragment
if (feedFragment == null) {
 feedFragment = FeedFragment.newInstance()
 supportFragmentManager.beginTransaction()
   .replace(R.id.root_fragment, feedFragment, TAG_FEED_FRAGMENT)
   .commit()
}

关于“Kotlin如何实现安全转换”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。