前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kotlin-类型转换

Kotlin-类型转换

作者头像
YungFan
发布2022-05-17 17:23:36
6870
发布2022-05-17 17:23:36
举报
文章被收录于专栏:学海无涯学海无涯

空安全类型

  • 在实际开发中,会经常碰到空值的情况,空值在 Kotlin 中表示为null
  • 在 Kotlin 中,默认情况下,不允许将变量或者常量设置为null,只有声明成空安全类型才可以。

定义

代码语言:javascript
复制
// 在类型后面加个?
var str: String? = "Hello Kotlin"
str = null

取值

  • ?::非空直接返回,为空返回后面的值。
代码语言:javascript
复制
var str: String? = "This is a String"
val ret = str ?: "default value"
println(ret)

str = null
val ret2 = str ?: "default value"
println(ret2)
  • !!:强制取值,非空直接返回,为空报错。
代码语言:javascript
复制
var str: String? = "This is a String"
val ret = str!!
println(ret)

str = null
val ret2 = str!! // 报错

基本类型

  • Kotlin 支持隐式转换即较大的类型可以隐式转换为较小的类型,但反过来较小的类型不能隐式转换为较大的类型。
  • 所有数字类型都支持转换为其他类型。
代码语言:javascript
复制
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double

字符串模板

字符串可以包含模板表达式,会求值并把结果合并到字符串中。模板表达式以美元符$开头。

代码语言:javascript
复制
val str = "Hello"
// 单个值
println("$str world")
// 表达式
println("${str.uppercase()}")

类型判断与转化

  • 使用is或者!is在运行时检测对象是否符合给定类型。
  • 使用as后者as?进行类型转换,后者返回的是空安全类型。
代码语言:javascript
复制
val str = "Hello Kotlin"

// 类型判断
println(str is String)
println(str !is String)

// 类型转换
str as Int // 运行时报错
str as? Int
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-05-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 空安全类型
    • 定义
      • 取值
      • 基本类型
      • 字符串模板
      • 类型判断与转化
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档