$show=/label

Kotlin Ternary Conditional Operator Examples

SHARE:

First of all, there is no ternary conditional operator in Kotlin but the same can be simulated using if-else and when statements.

1. Overview


In this article, We will learn Ternary Operator in Kotlin and this is part of conditional statements. But, confirming now there is no ternary conditional operator in kotlin language. Let us see how we can simulate or mimic the same using other condition statements available. By the end of this article, you will understand why no ternary conditional operator introduced in kotlin.

If you are new to kotlin language, see the simple hello world-first program in kotlin.

This can be achieved using if-else and when statements.

Kotlin Ternary Conditional Operator




2. Using If-Else 


Unlike other programming languages, if-else is considered as an expression. The result returned by this if-else can be stored in a variable. So now, this is giving a hint to us how we can mimic ternary with if-else.

Let us take a look at the below example

Example:

[val result = if (value) "yes" else "no";]

In the above expression, if the value is set to true, our result variable will be set to yes. Otherwise, it is set to no.

Here result type is String but we have declared as val. So keyword val will cast based on the returned value type.

Another example:

[val result: Boolean = if (a == b) true else false;]

This checks the condition a==b which means if values of a and b are equal then returns a boolean true otherwise false.

Here boolean value will be cast by val.

3. Using When


Similar to the above, when statement is called expression and it returns a value. So, when also can be used as an alternative to the if-else for the ternary condition.

Example:

Let us see the example.

[val result = when(value) {
true -> "yes"
false -> "no"
}]

If when the condition is true it returns "yes" if it is false returns "no". Here when is returning a String type.

Another Example:

[val result = when(a == b)) {
true -> true
false -> false
}]


If a==b condition is true then it returns boolean true. Otherwise returns false.

4. Conclusion


Note: There is a temptation mechanism to create a DSL that mimics a ternary operator. But, Kotlin's language restrictions are too tight to allow for a 100% reproduction of the traditional ternary syntax.
As such, let's avoid this temptation and simply use one of the earlier mentioned solutions.

In this article, we have already mentioned that Kotlin does not support for the ternary operator because this can be achieved by using if-else and when expressions.

COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Kotlin Ternary Conditional Operator Examples
Kotlin Ternary Conditional Operator Examples
First of all, there is no ternary conditional operator in Kotlin but the same can be simulated using if-else and when statements.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1kGLKs3pd2yXGgvGywyXhc1BPgdlCHbgIWil66nAfyGzdIeSfC1OpUBxq-ZNpd-UtnCPp5m9jArKhuVfXqVeaFEbFnMHTxT4z3fZqsbXF_0uGxoHjc94tgGojpfYnz_LPEH8X7GVrS4/s640/Kotlin+Ternary+Conditional+Operator.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1kGLKs3pd2yXGgvGywyXhc1BPgdlCHbgIWil66nAfyGzdIeSfC1OpUBxq-ZNpd-UtnCPp5m9jArKhuVfXqVeaFEbFnMHTxT4z3fZqsbXF_0uGxoHjc94tgGojpfYnz_LPEH8X7GVrS4/s72-c/Kotlin+Ternary+Conditional+Operator.png
JavaProgramTo.com
https://www.javaprogramto.com/2020/01/kotlin-ternary-operator.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2020/01/kotlin-ternary-operator.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content