上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 181 下一页
摘要: 一,代码: 例子: fun forExample1() { // Kotlin 集合 var list : List<String> = listOf<String>("apple", "banana", "kiwifruit") println("遍历集合") // 遍历list for(i in 阅读全文
posted @ 2025-08-09 13:40 刘宏缔的架构森林 阅读(50) 评论(0) 推荐(0)
摘要: 一,代码: fun whenExample() { //例1,普通用法 val number = 3 when (number) { 1 -> println("One") 2 -> println("Two") 3 -> println("Three") else -> println("Unkn 阅读全文
posted @ 2025-08-09 13:40 刘宏缔的架构森林 阅读(60) 评论(0) 推荐(0)
摘要: 一,代码: 1,定义函数: //一个比较大小的函数 fun max1(a: Int, b: Int): Int { val max = if (a > b) a else b return max } //代码块形式 fun max2(a: Int, b: Int): Int { val max = 阅读全文
posted @ 2025-08-09 13:40 刘宏缔的架构森林 阅读(12) 评论(0) 推荐(0)
摘要: 一,实现接口 代码: 实义接口和实现类 // 定义接口 interface AnimalInterface { val name: String // 抽象方法 fun play() // 默认实现的方法 fun sleep() { println("睡觉中...") } } // 实现接口的类 c 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(10) 评论(0) 推荐(0)
摘要: 一,Job()作为父协程时,子协程的状态不会影响它的状态 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val parentJob = Job() launch(parentJob) { // 使用新的 job 替 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(9) 评论(0) 推荐(0)
摘要: 一,Job生命周期示意图: 状态的表格: 二,例子: 代码: //处理按钮点击事件 binding.button2.setOnClickListener { runBlocking { // Job 在创建后就是 Active 状态 val job = Job() println(job) // J 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(27) 评论(0) 推荐(0)
摘要: 一,cancel()和cancelAndJoin()两者的区别: cancel() 方法用于取消协程,但是它不会等待协程的结束,调用此方法后,协程可能会被中断,但并不保证它会立刻停止,尤其是在协程处于挂起状态时 cancelAndJoin() 方法不仅会取消协程,还会等待该协程完全终止。这意味着,调 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(57) 评论(0) 推荐(0)
摘要: 一,例一,用 CoroutineExceptionHandler处理协程异常 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { //定义异常处理handler val myExceptionHandler = Coro 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(20) 评论(0) 推荐(0)
摘要: 一,例一:用 SupervisorJob避免因异常崩溃 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { val scope = CoroutineScope(SupervisorJob()) scope.async 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(34) 评论(0) 推荐(0)
摘要: 一,例子一 代码: //处理按钮点击事件 binding.button1.setOnClickListener { runBlocking { try { launch { delay(100L) 1 / 0 // 故意制造异常 } } catch (e: ArithmeticException) 阅读全文
posted @ 2025-08-02 15:06 刘宏缔的架构森林 阅读(13) 评论(0) 推荐(0)
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 181 下一页