可空类型

1.安全调用符:?. 若调用者为null,直接返回null,否则取方法值
2.赋值运算符:?: 若赋值者为null,则取额外值
3.安全转换:as?
4.非空段言:!! 为空的话直接抛出空指针异常
5.非空函数处理:?.let{只有调用者非空才会进入此方法体}
6.延迟初始化:lateinit修饰
7.使用时初始化:by lazy { }
8.成员引用: 类::成员
9.list.filter{ 条件 }方法:过滤此条件中的数据,可以移除不想要的元素,所有列表长度会发生改变,但是内容值不会变化
10.list.map{条件}方法:改变内容值生成新的列表,只是值变化所以长度不会变化
11.list.groupBy{}方法:把列表中的元素可根据某个字段进行分组成map结构
12.flatMap{}方法:将列表中的数据映射完然后平铺,例如:"a,b,c"和“d,e,f” flatMap后为"a,b,c,d,e,f"
13.with(item) {}方法:这个方法中使用item中的属性时,可直接去除item.而直接使用成员属性字段
14.run{}方法:是let和with的结合体
15.let{}方法:方法体内it为调用体,然后let方法体内最后一行可作为外围方法的返回值
16.apply{}方法:可以在方法体内任意调用该对象的方法,然会返回该方法对象

image.png

你可能感兴趣的:(可空类型)