好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。
我是suming,感谢各位的支持和认可,您的点赞、评论、收藏【一键三连】就是我创作的最大动力,我们下篇文章见!
如果本篇博客有任何错误,请批评指教,不胜感激 !
要想成为一个优秀的安卓开发者,这里有必须要掌握的知识架构,一步一步朝着自己的梦想前进!Keep Moving!
为了避免Null Pointer Exception,java8中,我们可以使用Optional类型来表达可空的类型。
public static void main(String[] args) {
System.out.println(strLength(Optional.of("abc")));
System.out.println...
什么是空安全
从Flutter2开始,Flutter在配置中默认启用空安全,通过空检查合并到类型系统中,可以在开发过程中捕获这些错误,防止生产环境导致的崩溃问题。
目前在Kotlin、Swift、Rust等对空安全都有了对自己的支持,Dart从2.12版本开始支持空安全,通过空安全开发人员可以有效避免null错误崩溃,空安全性可以说是Dart语言的重要补充,它通过区分类型和非可空类型进一步增强类型系统。
空安全好处
可以将原本运行时空值变为编辑时的分析错误。
增强程序健壮性,有效避免由Null导致的崩溃。
目录5. Kotlin的类型系统5.1 可空性5.1.1 可空类型5.1.1.1 : ?5.1.1.2 :安全调用运算符 ?.5.1.1.3 :Elvis运算符 ?:5.1.1.3 :安全转换 as?5.1.1.4 :非空断言 !!5.1.1.5 :“ let ”函数5.1.2 延迟初始化的属性5.1.3 可空类型的扩展5.1.4 参数类型的可空性5.1.5 可空性和java5.2 基本数据类型和其他数据类型5.2.1 基本数据类型: Int, Boolead 及 其它。5.2.2 可空的基本数
第6章 数据类型
数据类型在计算机语言中是非常重要的,在前面介绍变量或常量时已经用到一些数据类型,例如Int、Double和String等。本章主要介绍Kotlin的基本数据类型和可空类型。
6.1 回顾Java数据类型
Kotlin作为依赖于Java虚拟机运行的语言,它的数据类型最终被编译成为Java数据类型,所以本节先回顾一下Java数据类型的基础知识。
Java语言的数据类型分为:基本类型和引用类型。基本类型变量在计算机中保存的是数值,当赋值或作为参数传递给函数时基本类型数据会创建一个副本,把副本赋
Kotlin语法手册(一)
在使用kotlin时,由于掌握的不够牢靠,好多时候也还是Java编程的习惯,浪费了kotlin提供的语言特性,方便性,间接性,在阅读一些Android开源库的时候,由于好多都是kotlin语法编写的,看的比较费劲,还得去查阅kotlin的语法,比较不方便,故把kotlin的语法记录下来,方便查阅温故,巩固自己的基础知识。
kotlin 中,变量分为 可变变量(var) 和 不可变变量(val) 两类。
val:不可变引用,对应的
Kotlin 跟 Java 的最大不同应当就属空类型这点了,使用 Kotlin 开发,IDE 会智能的对可能为空的地方进行报错提示,开发者必须处理该错误,否则连编译都通过不了,从而降低程序 NullPointException 异常的出现几率,所以,一般情况下使用 Kotlin 开发很少见到 NPE 异常。
非空与可空类型
fun getName(): String {
return "lqr"
这是一个很普通的函数声明,它指明了函数返回值是一个 String 类型,对此,Kotlin
kotlin和Java的类型系统之间的一个很重要的区别就是,Kotlin对可空类型的显示支持
也就是说你可以声明一个变量,并且使用可空类型?来表示这个变量是可以为null的
java:
int StrLen(String s){return s.length}
//这个函数并不安全,原因是传入的参数s如果是null,就会报空指针异常
kotlin:
fun...
当我们把Java自动转成Kotlin的时候,代码里会出现很多非空断言!!。或者某些场景下因为IDE提示或编译错误,也让我们自己加上了一些!!。
但使用!!的后果是有可能抛出IllegalArgumentException:Parameter specified as non-null is null。
如何避免!!?
使用?.let/?.apply/?.run
这种是最常用的方法,也是首选的方法。但当有多个变量同时要判空时,或者需要处理为null时的逻辑,这种方式稍微有一点麻烦,下面会讲到一些新的方式。