1. 程式人生 > >Kotlin之when(含個小竅門)

Kotlin之when(含個小竅門)

Java版本

public void printChar(char cr){
        switch (cr){
            case 'a':
                System.out.println('a');
                break;
            case 'b':
                System.out.println('b');
                break;
            default:
                System.out.println("不支援列印該字元");
                break;
        }
    }

Kotlin版本

fun printChar(cr: Char) {
    when (cr) {
        'a' -> println('a')
        'b' -> {
            println('b')
        }
        else -> println("不支援列印該字元")
    }
}

0、when語法,像極了java中的switch語句,有點不太一樣哦,就是略去了switch中每次case後面都要加入的break

1、單條語句可以省略程式碼塊

重要的話要說三遍

若不知道如何在Kotlin中寫一個相當簡單的Java語句。這裡有一個簡單的訣竅,就是在AndroidStudio或者IntelliJ中的的java檔案中編寫一段程式碼,然後將其貼上到kt檔案中,它會自動轉換為Kotlin(第一次的時候會有個對話方塊提示,問你是否要轉換)

 

若不知道如何在Kotlin中寫一個相當簡單的Java語句。這裡有一個簡單的訣竅,就是在AndroidStudio的Java檔案中編寫一段程式碼,然後將其貼上到kt檔案中,它會自動轉換為Kotlin

 

若不知道如何在Kotlin中寫一個相當簡單的Java語句。這裡有一個簡單的訣竅,就是在AndroidStudio的Java檔案中編寫一段程式碼,然後將其貼上到kt檔案中,它會自動轉換為Kotlin

 

2、嘿嘿

判斷的時候,支援多個條件匹配,用逗號隔開就行

也可以省略掉else,語法很贊

when (reason) {
            HANG_UP_DISCONNECT, HANG_UP_MY_TIME_OUT, HANG_UP_MY_NET_WEEK -> {
                Toast.makeText(this, getString(R.string.abnormal_network), Toast.LENGTH_SHORT).show()
            }
            HANG_UP_OTHER_TIME_OUT, HANG_UP_AGOR_TIME_OUT -> {
                Toast.makeText(this, getString(R.string.other_unstable_net_work), Toast.LENGTH_SHORT).show()
            }
            HANG_UP_HEART_BACK, HANG_UP_STREAM_DELETE, HANG_UP_AGOR_USER_OFFLINE -> {
                Toast.makeText(this, getString(R.string.voice_chat_online_no), Toast.LENGTH_SHORT).show()
            }
        }