Kotlin学习笔记(七)类型转换

fun main(args: Array<String>) {
//    val parent: Parent = Child()
    val parent: Parent = Parent()
//    val child: Child? = parent as Child //进行类型转换,如不成功则抛出异常
    val child: Child? = parent as? Child //进行类型转换,如不成功返回null
    println(child)

    if (parent is Child) {
        println(parent.name)
    }

    val string: String? = "Hello"
    if (string is String) { //智能转换1
        println(string.length)
    }
    if (string != null) { //智能转换2
        println(string.length)
    }
    println(string!!.length) //告诉编译器当前已确定字符串不为空
}
运行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这两章比较简单, 以类型转换这一章更为重要和常见. 类型转换(Type Casting) 秉着没有最简洁只有更简洁...
    MD5Ryan阅读 3,008评论 0 0
  • 前言 测试环境: Kotlin 1.1.4 本文介绍的是 "?" "?." "?:" "!!" 一、 可空性 “ ...
    珞神阅读 1,666评论 0 1
  • SAMInJava.java(java中实现了只有一个接口当参数的类) SAMInKotlin.kt(kotlin...
    lkmc2阅读 7,180评论 2 0
  • 我想成为一个卖花的小女孩 早晨出门前 头上戴好花环 手上拎着花篮 脖子上挂好妈妈留下的钥匙圈 唱着歌儿跟爷爷奶奶说...
    顾知己阅读 2,241评论 0 2
  • 通过最近一段时间的努力,小北下棋技术有了明显提高,胜率也在上升,今天小北在围棋上,两盘全部赢了,两周前是全部输了的。
    海滨阅读 1,144评论 0 1

友情链接更多精彩内容