Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

栏目: IT技术 · 发布时间: 4年前

内容简介:本文转载自公众号“读芯术”(ID:AI_Discovery)。在被指定为Android的官方语言后,Kotlin逐渐取代了Java,成为现今Android开发人员的首选,它让Android开发更加轻松和快捷。Java和Kotlin语言的相似之处颇多,因此Java开发人员转用Kotlin比较容易。但也正因如此,开发人员很容易忽略Kotlin的独特性及其惯用方法,这可能导致编写的Kotlin代码与Java的代码类似。

本文转载自公众号“读芯术”(ID:AI_Discovery)。

在被指定为Android的官方语言后,Kotlin逐渐取代了Java,成为现今Android开发人员的首选,它让Android开发更加轻松和快捷。

Java和Kotlin语言的相似之处颇多,因此 Java 开发人员转用Kotlin比较容易。但也正因如此,开发人员很容易忽略Kotlin的独特性及其惯用方法,这可能导致编写的Kotlin代码与Java的代码类似。

有一些Kotlin化的方式能让我们在Android中编写更简洁的代码,一起来学习吧!

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

用一行代码生成Kotlin列表

用Kotlin创建具有默认值的列表非常简单。这个代码行可以创建一个长度为10的整数数组,每个元素都初始化为1:

IntArray(10) { 1 }.asList() 

但若想创建具有不同元素的列表该怎么办呢,经典的实现方法当然是使用for循环,但是使用Kotlin只需一行代码就能做到:

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

使用“let”函数检查可为空的属性

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

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

使用Kotlin的Elvis运算符(?:)可以为可空属性提供默认值。例如,在上述代码中,可以将doSomething(a ?: 0)作为函数调用,从而确保a具有默认值。

使用“require”或“check”函数处理提前退出条件

require函数用于验证传递的参数,如果为false,则抛出Illegal Argument Exception。

而check函数在对象状态为false时会抛出Illegal State Exception。在Android的Kotlin代码库中设置提前退出条件时,这两种方法都很好用。

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

对于简单方案,首选方法引用而不是Lambda表达式

尽管lambda表达式在大多数用例中都很好,但在只需访问属性时,使用方法引用会更好。成员引用用::表示,类或对象写在左侧,被调用的属性写在右侧。看看下面这个例子,在此背景下,使用成员引用而不是lambda表达式使得代码更短并且更易于阅读。

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

使用“partition”和“groupBy”运算符轻松拆分列表

partition可以将列表拆分为一对子列表,第一个子列表包含满足指定条件的元素,其余元素则放在第二个子列表中。而groupBy以键值对的形式返回子列表的映射。通过在groupBy上调用values属性可以获得一个由列表组成的列表。

以下示例演示了每种方法的用例:

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

用一行代码交换两个属性

交换两个变量是很多开发人员面临的第一个编程问题。传统方法是定义一个临时变量来交换属性。你当然可以使用a = a-b和b = b-a替代这种方法并将代码减少到两行,但这里有更好的方法。通过使用Kotlin的常用表达式,可以在一行中完成两个属性的交换:

a = b.also { b = a } 

使用“apply”和“with”函数减少样板代码

Apply和with是两个重要的作用域函数,有助于在设置对象属性时消除对对象的显式引用。某种程度上,这两个函数都可以在返回对象之前对其进行转换。在对象初始化时调用apply函数,而with函数需要将对象作为参数传递。这样可以减少一些样板代码,使代码库清晰明了。

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

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

Android开发人员看过来:这些Kotlin化方法帮你提高开发技能

【责任编辑:赵宁宁 TEL:(010)68476606】


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Code Reading

Code Reading

Diomidis Spinellis / Addison-Wesley Professional / 2003-06-06 / USD 64.99

This book is a unique and essential reference that focuses upon the reading and comprehension of existing software code. While code reading is an important task faced by the vast majority of students,......一起来看看 《Code Reading》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器