Android从java->kotlin,感受kotlin的神奇之处

来源:互联网 发布:.sit域名 编辑:程序博客网 时间:2024/05/21 08:46

一个获得指定文件夹下所有根级文件的例子
最原始代码

val files = Environment.getExternalStoragePublicDirectory(                Environment.DIRECTORY_DCIM).listFiles(filter)object filter : FileFilter {    override fun accept(pathname: File): Boolean {        return pathname.isFile    }}


简化后的代码

val files = Environment.getExternalStoragePublicDirectory(                Environment.DIRECTORY_DCIM).listFiles(filter)object filter : FileFilter {    override fun accept(pathname: File): Boolean = pathname.isFile}

再次简化,同样的几行代码精简之后就成了这样,神奇呀:expressionless:

val files = Environment.getExternalStoragePublicDirectory(                Environment.DIRECTORY_DCIM).listFiles {                    pathname -> pathname.isFile                }  

还有kotlin for循环编译数组检查满足某个条件就执行某段语句,根据之前Java的思路是这么写的。

for (i in mDevList) {        if (i.ip != devInfo.ip) {                addDivList(devInfo)        }}

然而kotlin的话直接这样写就好了

mDevList.filter { it.ip != devInfo.ip }        .forEach { addDivList(devInfo) }

新项目直接上了kotlin进行Android开发,两周下来感觉kotlin写起来比Java优美不少,并且代码量有明显的降低,一些数据操作的简化写法也十分方便,更多其他的地方还有待挖掘,另外开发之前我是一点没看kotlin,纯粹是边开发边看kotlin文档,之所以敢这样,主要还是还发现Android studio还有这个功能–>Java代码转化kotlin代码

java代码转化kotlin代码

遇到地方不知道kotlin代码怎么写了怎么办,直接用Java写一遍,一转换就成kotlin代码了,而且运行完全没有问题:joy:,所以果断直接上kotlin开发吧。

还有许多地方大家自己上手来体会吧。

原创粉丝点击