当前位置: 首页 > news >正文

实验室建设网站360推广登录平台

实验室建设网站,360推广登录平台,网站制作插入图,网页设计与动态网站开发在运行时可以执行类型检查以检查对象的类型。类型转换将对象强制转换为不同的类型 is 和 !is 可以使用is或者!is来判断实例是不是指定的类型 fun main() {var obj : Any "cast"if (obj is String) {println(obj.length) // 4}obj 123if (obj !is String) { pr…

在运行时可以执行类型检查以检查对象的类型。类型转换将对象强制转换为不同的类型

is!is

可以使用is或者!is来判断实例是不是指定的类型

fun main() {var obj : Any = "cast"if (obj is String) {println(obj.length)   // 4}obj = 123if (obj !is String) { print("Not a String") // Not a String} else {println(obj.length)}
}

智能转换

正常情况下,当使用了is或者!is判断实例类型时,如果返回的是true则会自动转成相应的类型,不需要再显示的进行类型转换了

fun main() {var obj : Any = "cast"if (obj is String) {println(obj.length)   // 4}
//    println(obj.length)   // 报错 - Unresolved reference: lengthif (obj !is String) returnprintln(obj.length)
}
fun main() {val x : Any = ""if (x !is String || x.length == 0) returnif (x is String && x.length > 0) {print(x.length) }
}

when中使用

when (x) {is Int -> print(x + 1)is String -> print(x.length + 1)is IntArray -> print(x.sum())
}

注意,只有当编译器能够保证变量在检查和使用之间不会改变时,智能强制转换才会起作用。

只能转换在一下场景生效

变量类型说明
var 本地变量一般都会生效,除了局部委托变量
var 类属性如果属性是私有的、内部的,或者检查是在声明属性的同一模块中进行的,那么可以使用智能转换。但是,智能转换不能用于开放属性或具有自定义 getter 的属性。
val本地变量如果变量在检查和使用之间没有被修改,没有被修改它的 lambda 捕获,也不是本地委托属性,那么就可以使用这个变量。
val类属性永远不会,因为变量可以在任何时候被其他代码修改。

不安全的强制转换

不安全的强制转换通常会报错,使用as进行操作

fun main() {val str: Any = "cast"val s = str as Stringval i = str as Int  //报错 java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer
}

注意,不能使null转换成String类型,如果有null风险,需要添加?

fun main() {val str: Any? = nullval s1 = str as String?val s2 = str as String   // 报错 - java.lang.NullPointerException: null cannot be cast to non-null type kotlin.String
}

安全的强制转换

如果要避免异常,可以使用as?,如果转换失败则返回null

fun main() {val str: Any? = nullval s = str as? Stringprintln(s)  // null
}
http://www.hrbkazy.com/news/52265.html

相关文章:

  • 做服装招聘的网站汉中网络推广
  • 网站建设申请理由店铺推广
  • mobile 网站流量引流人脉推广软件
  • 北京企业网站建站哪家好seo免费诊断
  • Wordpress 淘宝客 页面网站seo视频教程
  • net网站开发技术方案域名被墙查询检测
  • 做网站 怎么连到数据库seo是什么工作内容
  • 深圳网站制作哪里找沧州网络推广外包公司
  • 厦门网站建设系统全网营销软件
  • 网站慢用台服务器做跳板企业网站的作用有哪些
  • 代理公司注册网站2020年可用好用的搜索引擎
  • 如何做收费视频互动网站国外网站开发
  • 学校学生网站模板下载淘宝指数官网
  • 重庆做网站人才今日头条10大新闻
  • 广告公司设计网站关键词排名优化系统
  • 长春做网站的公司浙江seo外包费用
  • 西安抖音seo推广站长工具seo综合查询下载
  • 阳江问政平台官网入口网站搜索引擎优化方案的案例
  • 个人建网站首选什么域名好免费推广引流平台有哪些
  • 玖云建站系统seo优化名词解释
  • 网站建设素材模板下载哪里有营销策划培训班
  • 离职删除做的网站站长之家下载
  • 哈尔滨建设局网站seo sem关键词优化
  • 大连永锐网站哪家做的做百度推广代运营有用吗
  • 个人网站建设与实现毕业设计免费个人网站模板
  • app技术天津企业seo
  • 珠海网站建设及优化上海知名的seo推广咨询
  • html做分模块的网站惠州seo推广公司
  • 有关网站开发的文献网络推广合同
  • 怎么做阿里巴巴国际网站首页世界杯积分榜排名