What would be ideomic way to append String with NULL check? Perhaps this is stupid question, but I am curious to know the best way.
I tried these-
fun main(args: Array<String>) {
val foo: String? = null
val bar = "bar"
println("__println(\"\$foo \$bar\")")
println("$foo $bar")
println("__println((if (foo != null) \"\$foo \" else \"\") + (if (bar != null) \"\$bar \" else \"\"))")
println((if (foo != null) "$foo " else "") + (if (bar != null) "$bar " else ""))
println("__println((\"\$foo \" ?: \"\") + (\"\$bar \" ?: \"\"))")
println(("$foo " ?: "") + ("$bar " ?: ""))
println("__println((foo ?: \"\") + (bar ?: \"\"))")
println((foo ?: "") + (bar ?: ""))
println("__println(foo + \" \" + bar)")
println(foo + " " + bar)
var string = ""
if (foo != null) string += "$foo, "
if (bar != null) string += "$bar"
println("__println(string)")
println(string)
}
Output
__println("$foo $bar") null bar __println((if (foo != null) "$foo " else "") + (if (bar != null) "$bar " else "")) bar __println(("$foo " ?: "") + ("$bar " ?: "")) null bar __println((foo ?: "") + (bar ?: "")) bar __println(foo + " " + bar) null bar __println(string) bar
Purpose
I have Location Data Class, in that I have address_line_1, city, state, country etc.
I want get full address string with appending all fields with null check. Please note I want append an space and comma also when value is not Null.