Book Image

Programming Kotlin

Book Image

Programming Kotlin

Overview of this book

Quickly learn the fundamentals of the Kotlin language and see it in action on the web. Easy to follow and covering the full set of programming features, this book will get you fluent in Kotlin for Android.
Table of Contents (20 chapters)
Programming Kotlin
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Customer Feedback
Preface

Elvis operator


One of the most common scenarios when we have a nullable type is to use the value if it is not null, and a default if otherwise. For example, in Java we might usually write code like this:

    String postcode = null 
    if (address == null) { 
      postcode = "No Postcode" 
    } 
    else { 
      if (address.getPostcode() == null) { 
        postcode = "No Postcode" 
      } 
      else { 
        postcode = address.getPostcode() 
      } 
    }

What Kotlin offers us as a replacement is the so-called Elvis operator ?:. Supposedly, if you turn your head sideways the operator looks like Elvis' hairstyle, but perhaps it would have been better with a different name. The usage of this is very similar to the ternary if statement in Java.

This infix operator can be placed in between a nullable expression and an expression to use if the nullable expression is indeed null. So the general usage resembles the following:

    val nullableName...