Android开发人员看过来:这些Kotlin化方法帮你提高开发技能
全文共1293字 , 预计学习时长5分钟

文章图片
图源:unsplash
在被指定为Android的官方语言后 , Kotlin逐渐取代了Java , 成为现今Android开发人员的首选 , 它让Android开发更加轻松和快捷 。
Java和Kotlin语言的相似之处颇多 , 因此Java开发人员转用Kotlin比较容易 。 但也正因如此 , 开发人员很容易忽略Kotlin的独特性及其惯用方法 , 这可能导致编写的Kotlin代码与Java的代码类似 。
有一些Kotlin化的方式能让我们在Android中编写更简洁的代码 , 一起来学习吧!
用一行代码生成Kotlin列表
用Kotlin创建具有默认值的列表非常简单 。 这个代码行可以创建一个长度为10的整数数组 , 每个元素都初始化为1:
IntArray(10){1}.asList()
但若想创建具有不同元素的列表该怎么办呢 , 经典的实现方法当然是使用for循环 , 但是使用Kotlin只需一行代码就能做到:

文章图片
使用“let”函数检查可为空的属性
在进行后续操作之前 , 我们通常会使用“ifnotnull”控制结构对类型进行null检查 。 使用Kotlin的let扩展函数有助于避免复杂的分支逻辑 。 Kotlin的let是作用域函数 , 在其内部声明的属性不能在外部使用 。 可以将其用于嵌套let或链接一组可为空的对象 。

文章图片
使用Kotlin的Elvis运算符(?:)可以为可空属性提供默认值 。 例如 , 在上述代码中 , 可以将doSomething(a?:0)作为函数调用 , 从而确保a具有默认值 。
使用“require”或“check”函数处理提前退出条件
require函数用于验证传递的参数 , 如果为false , 则抛出IllegalArgumentException 。
而check函数在对象状态为false时会抛出IllegalStateException 。 在Android的Kotlin代码库中设置提前退出条件时 , 这两种方法都很好用 。

文章图片
对于简单方案 , 首选方法引用而不是Lambda表达式
【Android开发人员看过来:这些Kotlin化方法帮你提高开发技能】尽管lambda表达式在大多数用例中都很好 , 但在只需访问属性时 , 使用方法引用会更好 。 成员引用用::表示 , 类或对象写在左侧 , 被调用的属性写在右侧 。 看看下面这个例子 , 在此背景下 , 使用成员引用而不是lambda表达式使得代码更短并且更易于阅读 。

文章图片
使用“partition”和“groupBy”运算符轻松拆分列表
partition可以将列表拆分为一对子列表 , 第一个子列表包含满足指定条件的元素 , 其余元素则放在第二个子列表中 。 而groupBy以键值对的形式返回子列表的映射 。 通过在groupBy上调用values属性可以获得一个由列表组成的列表 。
以下示例演示了每种方法的用例:

文章图片
用一行代码交换两个属性
交换两个变量是很多开发人员面临的第一个编程问题 。 传统方法是定义一个临时变量来交换属性 。 你当然可以使用a=a-b和b=b-a替代这种方法并将代码减少到两行 , 但这里有更好的方法 。 通过使用Kotlin的常用表达式 , 可以在一行中完成两个属性的交换:
a=b.also{b=a}
使用“apply”和“with”函数减少样板代码
Apply和with是两个重要的作用域函数 , 有助于在设置对象属性时消除对对象的显式引用 。 某种程度上 , 这两个函数都可以在返回对象之前对其进行转换 。 在对象初始化时调用apply函数 , 而with函数需要将对象作为参数传递 。 这样可以减少一些样板代码 , 使代码库清晰明了 。

文章图片
学习这些技巧 , 能让你从JAVA转换到Kotlin更加快速自然 , 希望本文能够帮到你 。

文章图片
推荐阅读
- 澎湃新闻|仝卓事件被写入公职人员学习读本 仝卓事件怎么回事
- 仝卓事件通报成《公职人员政务处分法》学习读本案例
- 仝卓|成范本了!曝仝卓被写入公职人员学习读本 这下子真是大火了!
- 游泳|“土豪”操作?迪拜一公司工作人员给游泳池放冰块
- 直升机|一架土耳其直升机在伊拉克境内坠毁 机组人员全部遇难
- 新华网|济南实现新建商品房“交房即办证”
- 苹果|苹果将于8月28日终止Epic Games的开发者账号
- 央视新闻客户端|一架土耳其直升机在伊拉克境内坠毁 机组人员全部遇难
- 苹果公司将于8月28日终止Epic Games的开发者帐户
- 【PW早报】苹果公司将于8月28日终止Epic Games的开发者帐户
