IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Kotlin学习笔记四 -> 正文阅读

[移动开发]Kotlin学习笔记四

标准库函数

apply函数

apply可以看做是一个对象的配置函数,隐式调用,返回配置好的对象
eg
//不使用apply
file:File=new File(“C://daxiong”)
file.setReadable(true)
file.setWriteable(true)

//使用apply
file:File=new File(“C://daxiong”)
file.apply{
setReadable(true)
//隐式调用就是对于对象属性和方法,不用file.set…显示的调用
setWriteable(true)
}

一些对对象属性的更改或者初始化操作,或者对象方法的初始化执行,可以使用apply方法来配置

let函数

传对象给lamabda表达式 显示调用,返回表达式最后一行
eg
str=“ssdjkdd”
str.let{it->
//传入对象str,使用属性时显示调用
“hello world $it”
}
该函数主要是用对象的属性,进行计算操作,来得到并且返回某个结果。比较常用

run函数 与with函数

隐式调用,但返回表达式最后一行。
with 和run一样 只是把对象座位参数 例如with(a){}

also函数

把对象传给表达式,但是返回原有对象,利用副作用做事,所谓利用副作用做事,就是执行某个计算操作,但不会返回计算结果,返回原有对象(而let是返回计算结果)

takeif函数

如果满足条件,返回接受者对象 ,否则 返回null 。 takeunless 和takeif相反
。虽然也可以用if来替代,但是takeif可以在原对象上直接操作,避免了临时变量赋值麻烦。

eg
file:File=new File(“C://daxiong”).takeif{
it.exists()&&it.isReadable()
}

这样file对象如果不为null,那么就是可执行相关操作(这里存在且可读)的。

总而言之,这个函数的操作,就是在对象在执行某些操作之前,先判断这个对象是否符合要求(做一次筛选),从而避免一些异常的抛出。

集合类

list

(1)list的创建 : 不可变 listof()
可变 mutablelistof() 和livedata中的mutablelivedata差不多
可变和:不可变可以相互转化 有tolist 和tomutablelist函数
(2)获取元素
1-普通方式 ,和java差不多
2-getorelse(index){返回lamabda表达式最后一行}
用来防止崩溃,应该重视使用
eg
println(list.getOrElse(2) { “越界” })
println(list.getOrElse(3243) { “你越界了” })

3-getornull(index) eg list.getornull(index)?:""

(3)mutator函数
1- list += “” 相当于 add
2- list -="" 相当于remove
3- list.removeif{it.contains("")} lamabda表达式 it指的是单个元素

(4)list集合便利
1- for in eg for(s in list){}
2- foreach eg list.foreach{it}
3- list.foreachIndexed{index,item->
}

(5)解构语法及其过滤

set

set 和list比较就是元素唯一,无序。
创建 setof mutablesetof
获取元素 elementAt
安全操作也都有 orelse ornull等等
mutator函数等也都有 。
除了本质特性之外,list有的,set都有。

注意:list和set可以互相转换 达到去重的目的
如果一个list需要去重,就把他转为set 再转为list

数组

数组类型 , list有toarray函数,比较简单。

map

创建和其他集合类差不多,分为可变与不可变
与java区别

(1)有to关键字 eg map=mapof(“a"to"aa”)
等于于pair(“a”,“aa”)
(2)获取map值
1-[]
2-getvalue
安全的方法:
3-getorelse
4-getordefalut

(3)map遍历
1- foreach{it}
2-foreach{key,value->
}

(4)添加元素
1- mutator函数等都有 eg map+=(“a” to “dd”)
2- getorput eg map.getorput(key){“aa”}
若key存在 返回值,不存在 赋值aa并返回

https://www.jianshu.com/p/9dd5ddf0133a

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:43:51  更:2022-02-01 20:45:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:40:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码