一個獲得指定文件夾下所有根級文件的例子
最原始代碼
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循環(huán)編譯數組檢查滿足某個條件就執(zhí)行某段語句唯欣,根據之前Java的思路是這么寫的嘹吨。
for (i in mDevList) {
if (i.ip != devInfo.ip) {
addDivList(devInfo)
}
}
然而kotlin的話直接這樣寫就好了
mDevList.filter { it.ip != devInfo.ip }
.forEach { addDivList(devInfo) }
新項目直接上了kotlin進行Android開發(fā),兩周下來感覺kotlin寫起來比Java優(yōu)美不少境氢,并且代碼量有明顯的降低蟀拷,一些數據操作的簡化寫法也十分方便,更多其他的地方還有待挖掘萍聊,另外開發(fā)之前我是一點沒看kotlin匹厘,純粹是邊開發(fā)邊看kotlin文檔,之所以敢這樣脐区,主要還是還發(fā)現Android studio還有這個功能-->Java代碼轉化kotlin代碼
遇到地方不知道kotlin代碼怎么寫了怎么辦,直接用Java寫一遍她按,一轉換就成kotlin代碼了,而且運行完全沒有問題:joy:,所以果斷直接上kotlin開發(fā)吧疟呐。
還有許多地方大家自己上手來體會吧豆挽。