Kotlin

Kotlin - Kotlin casting, smart cast

jinhan38 2021. 3. 19. 00:01

 

class KotlinPlayGroundActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_kotlin_play_ground)


        val message = "It is test"


        val length: Int = if (message is String)
            message.length
        else
            100
        println("length : $length")

        val value: Int = when (message) {
            is String -> message.length
            else -> 100
        }
        println("value : $value")


        val rValue: String = message as String
        println("rValue : $rValue")

        val rValueSecond : String? = message as? String
        println("rValueSecond : $rValueSecond")
    }

}