一个获得指定文件夹下所有根级文件的例子
最原始代码
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代码
遇到地方不知道kotlin代码怎么写了怎么办,直接用Java写一遍,一转换就成kotlin代码了,而且运行完全没有问题:joy:,所以果断直接上kotlin开发吧。
还有许多地方大家自己上手来体会吧。