一個獲得指定文件夾下所有根級文件的例子
最原始代碼
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開發吧。
還有許多地方大家自己上手來體會吧。