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】


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

查看所有标签

猜你喜欢:

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

Mathematica演示项目笔记

Mathematica演示项目笔记

吴飞 / 清华大学出版社 / 2010-7 / 39.00元

Mathematica是由美国科学家斯蒂芬·沃尔夫勒姆(Stephen Wolfram)领导的Wolfram Research Inc.研究公司所开发的一体化计算引擎。《Mathematica演示项目笔记》结合Mathematica演示项目以及第6版和第7版的最新功能(动态交互性、即时三维图形、数值模拟和仿真、高效实时计算、集成语言系统、多核并行计算和数字图像处理等),讲解了符号计算、程序设计、算......一起来看看 《Mathematica演示项目笔记》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码