kotlin的簡潔特性

kotlin最大的好處就是使得代碼簡潔,但也沒有使得運行效率比java降低很多。

那麼kotlin語言對比java語言,有哪些地方是比較簡潔的呢?

可空判斷和非空判斷

kotlin中可空符號?的出現,讓我們對於java中一些對於變量的判空的實現變得簡潔

if(mText != null )
mText.setText(str_content)

直接可以簡寫爲

mText?.setText(str_content)

data數據bean

對於數據bean類,kotlin中提供data修飾符

data class Book(val str:String)

只需要一個data修飾符,自動幫助我們生成一個Bean類Book,包含了str字符變量的get和set方法,以及自動幫助重寫equals()和hashcode()方法,非常方便

getter、setter

對於Java中的getter和setter方法,kotlin提供了

var StringBuilder.lastChar:Char
get() = get(length -1)
set(value:Char){
this.setCharAt(length -1 ,value)
}

豐富的標準庫

kotlin提供了豐富的自帶的擴展函數:如String.toRegex() ,joinToString() 等

集合的函數式api:filter,map,all,any,groupBy

對lambda的支持

val people = listof()
val name = people.joinToString(separator=" ", transform = {p:Person -> p.name})

 可以簡化爲

val people = listof()
people.joinToString(" "){p:Person -> p.name}

kotlin有一種語法規定,如果lambda表達式是函數調用的最後一個參數,它可以放到括號外邊。

另外,象letrunwithapplyalso這些函數也提供了對lambda的支持

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