Do you prefer a lambda initializer ( { SomeClass()...
# announcements
o
Do you prefer a lambda initializer ( { SomeClass() } ) or reflection with classes ( SomeClass::class.java )? I like lambdas much more, but which is more performant?
g
Prefer lambda. Also this approach much more flexible. With Class + reflection you can create only classes with default constructor. Lambda should provide better runtime performance in theory (not sure that in practice it’s better, reflections are quite fast on modern JVM), but you pay additional object creation, so in general I don’t think there is significant difference.
Also, in case of lambda compiler check your code in compile time, but for reflection you would get runtime exception if, for example, class doesn’t have default constructor
👍 1
o
I thought so, thanks
g
and from architecture point it’s better, because you decouple object creation from object consumption