kotlin 常用操作符

2021-10-06 20:26:46 字數 2524 閱讀 3929

如果 ?:左邊表示式非空,elvis操作符就會返回左邊的結果,否則返回右邊的結果。

請注意,僅在左側為空的時候,右側的表示式才會計算。

fun elvistest(b: string?) " + ",a is " +a)

}

當使用 as 轉型的時候,可能會經常出現 classcastexception。 所以,現在可以使as?安全轉型,當轉型不成功的時候,它會返回 null。

fun safecast(param: any) " + ",m is " + m)

val n: int? = param as? int

log.d("alen","param is $" + ",n is " +n)

}

3:kotlin空安全(null safety)

每乙個開發人員都會遇到這樣的問題:在使用某個物件時,必須得考慮這個物件是否為空。如果物件可能為空,則不得不需要寫 if(object != null) 之類的**,如果判斷條件寫反,或者少寫了乙個條件判斷,應用就會在執行時出現crash 了。於是我們千辛萬苦寫的**,到頭來卻被各種 nullpointerexception 害苦。而現在 kotlin null safety 能幫助我們節省時間,脫離空指標的苦海。

kotlin 定義變數有兩種方式,可以為 null 和不可以為 null。在變數型別後面加?表示該變數可以為 null

//定義乙個可以為null的變數

var name: string? = null

//定義乙個不可以為null的變數,如果此時賦值為null,則會報異常

val country: string = "china"

//報錯,可能為null的變數不可以直接呼叫其方法

//        var length: int = name.length

//如果name為null則pass,如果name不為null則呼叫count()方法

var length: int? = name?.count()

//不管name是否為null都呼叫count()方法,如果為null,則丟擲nullpointerexception

var count: int = name!!.count()

//由於country不為null,則可以直接呼叫其count方法

var countrycount: int = country.count()

1、型別和超型別之間的冒號前要有乙個空格

2、例項和型別之間的冒號前不要空格

// 定義全域性變數時

var str: string? = null

// 類的繼承與變數定義

class kotlintestactivity(name: string) : activity()

檢查某個例項是否是某個型別,如果判斷出屬於某個型別,那麼判斷後的分支中可以直接可當該型別使用,無需顯示轉換。

fun getstringlength(obj: any): int 

return -1;

}

6:範圍操作符 .. 以及 in

使用 in 運算子來檢查某個數字是否在指定區間內

for(i in 1..5) 

// 結果

// i is 1

// i is 2

// i is 3

// i is 4

// i is 5

downto()函式

//區間內迴圈:downto()函式

for(i in 4 downto 1)

// i is 4

// i is 3

// i is 2

// i is 1

step()函式

可以進行任意數量的迭代,而不是每次變化都是1

// step()函式 可以進行任意數量的迭代,而不是每次變化都是1

for(i in 0..5 step 2)

// i is 0

// i is 2

// i is 4

// 以步長為2從4到1進行迴圈

for(i in 4 downto 1 step 2)

// i is 4

// i is 2

三引號的形式用來輸入多行文字,也就是說在三引號之間輸入的內容將被原樣保留,之中的單號和雙引號不用轉義,其中的不可見字元比如/n和/t都會被保留.

valstr = """

onetwo

"""//等價於

val str = "one\ntwo"

val str = "one"+"\n"+"two"

Kotlin常用操作符

如果 左邊表示式非空,elvis操作符就會返回左邊的結果,否則返回右邊的結果。請注意,僅在左側為空的時候,右側的表示式才會計算 val a b?length?1 等同於 val a int if b null b.length else 1當使用 as 轉型的時候,可能會經常出現 classcast...

Kotlin常用操作符

如果 左邊表示式非空,elvis操作符就會返回左邊的結果,否則返回右邊的結果。請注意,僅在左側為空的時候,右側的表示式才會計算 val a b?length?1 等同於 val a int if b null b.length else 1當使用 as 轉型的時候,可能會經常出現 classcast...

Kotlin學習 集合操作符之總數操作符

原集合 val list num arraylist arraylistof 1,2,3,5,6,7,8 1.any 只要有乙個符合就返回true 操作符 val any list num.any 結果 any true 2.all 集合中所有元素都滿足函式才返回true 操作符 val all l...