arekolek
07/04/2019, 7:59 PMwhen and matching an object from a sealed class:
sealed class Foo {
object Bar : Foo()
data class Baz(val x: Int) : Foo()
}
fun usingEquality(foo: Foo) = when (foo) {
Foo.Bar -> 1
is Foo.Baz -> 2
}
fun usingInstanceOf(foo: Foo) = when (foo) {
is Foo.Bar -> 1
is Foo.Baz -> 2
}
Any reason to prefer 1️⃣ usingEquality rather than 2️⃣ usingInstanceOf? IDE generates usingEquality, but doing a quick benchmark shows no difference, yet is Foo.Bar is more useful, in case you decide later to make Bar a data class for example. What do you use?cbruegg
07/04/2019, 9:47 PM