Android修行手册之Kotlin-【Null检查】、【类型检查】、【区间】篇

简介: 众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

有什么需要欢迎私我,交流群让学习不再孤单

👉前提

当前环境

2021年10月8日最新下载2020.3.1 Patch 2 版本

👉实践过程

😜Null检查

Null安全是Kotlin的宣传特点,但是他并不是无感的,其实就是靠强制的代码规范,让你写的代码有良好的空判断。虽然Java也可以做到,但是因为是主观的意识,任何人都存在拉下的可能。

所以Kotlin来帮咱们做这件事,如果你不遵守,直接编译项目的时候就编译不过去。

所以从变量声明的时候就不能为空,需要特殊处理,这和【TypeScript】很类似。

字段后加【!!】(双叹号)会抛出空异常,加上【?】代表可为空,默认变量不能为空,会报错。

网络异常,图片无法展示
|

//类型后面加?表示可以为空
var myAge: String? = "666"
myAge = null
//变量为空时抛出空指针异常
val ageZero = myAge!!.toInt()
//判断myAge为空 则ageOne也为空
val ageOne = myAge?.toInt()
Log.e("TAG", "芝麻粒儿输出1: " + ageOne)
//myAge为空的时候返回-1
val ageTwo = myAge?.toInt() ?: -1
Log.e("TAG", "芝麻粒儿输出2: " + ageTwo)
复制代码

😜类型检查

Java中有【instanceof】关键字可以检测是否为某个类型,Kotlin中也有,是【is】

//类型后面加?表示可以为空
var myAge: String? = "666"
if (myAge is String) {
    //判断变量myAge是否为字符串类型
}
复制代码

Kotlin有一个【Any】类型,结合【is】,可以自动转换类型,如下

//类型后面加?表示可以为空
var myAge: Any? = "666"
if (myAge is String) {
    //判断变量myAge是否为字符串类型
    Log.e("TAG", "芝麻粒儿输出0: ${myAge.length}")
}
复制代码

😜区间

这点倒是个新鲜词,顾名思义就是数学上的区间,比如1到10所有的数字。使用【..】实现,注意是两个点不是三个点,不要和Java的可变参数搞混了。

暂时还没想到应用场景

for (i in 1..6)
  Log.e("TAG", "芝麻粒儿输出3: $i") // 输出“123456”
for (i in 1..6 step 2)
  Log.e("TAG", "芝麻粒儿输出4: $i")// 设置步长,步长和间隔是有区别的 间隔是步长减一 为1 输出“135”
//有正序的就有倒叙的
for (i in 6 downTo 1)
  Log.e("TAG", "芝麻粒儿输出5: $i") // 输出“654321”


👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:

https://zhima.blog.csdn.net/

https://www.zhihu.com/people/zhimalier

https://juejin.cn/user/4265760844943479

📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

相关文章
|
Android开发
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
Android基于gradle task检查各个module之间资源文件冲突情况
|
11月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
461 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
Android开发
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
Android gradle task任务检查各个module之间资源文件冲突.md
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
194 6
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
119 7
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
207 7
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
118 2
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
75 6
|
Java Kotlin
Kotlin教程笔记(4) - Kotlin - 区间与数组
Kotlin教程笔记(4) - Kotlin - 区间与数组
163 3