Android從java->kotlin,感受kotlin的神奇之處

一個獲得指定文件夾下所有根級文件的例子
最原始代碼

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代碼

[圖片上傳失敗...(image-ec0f67-1511406440467)]

遇到地方不知道kotlin代碼怎麼寫了怎麼辦,直接用Java寫一遍,一轉換就成kotlin代碼了,而且運行完全沒有問題:joy:,所以果斷直接上kotlin開發吧。

還有許多地方大家自己上手來體會吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章