39. Pros : Lazy Evaluation
• lateInit
• Dependency Injection (Dagger)
• runtime 에 set 되는 mutable property (var)
40. Pros : Lazy Evaluation
• lateInit
• Dependency Injection (Dagger)
• runtime 에 set 되는 mutable property (var)
• by lazy
• runtime에 set되는 read-only property (val)
41. Pros : Lazy Evaluation
• lateInit
• Dependency Injection (Dagger)
• runtime 에 set 되는 mutable property (var)
• by lazy
• runtime에 set되는 read-only property (val)
• 리소스가 많이 들거나 연산이 오래 걸리지만 자주 사용
하는 property
42. Pros : Lazy Evaluation
private val pdPending by lazy { ... }
private val presentAdapter by lazy {
...
}
lateinit @Inject var locale: LezhinLocale
lateinit @Inject var userApi: UserApi
lateinit @Inject var presenter: PresentBoxMvpPresenter
43. Pros : JoinToString
val sb = StringBuilder()
val size = items.size
for (i in 0..size - 1) {
sb.append(items[i].id)
if (i < size - 1) {
sb.append(‘, ')
}
} // item1, item2, item3..
item1
item2
item3
…
44. Pros : JoinToString
val sb = StringBuilder()
val size = items.size
for (i in 0..size - 1) {
sb.append(items[i].id)
if (i < size - 1) {
sb.append(‘, ')
}
} // item1, item2, item3..
items.joinToString(separator = “, ”)
// item1, item2, item3..
item1
item2
item3
…