umar
11/01/2017, 11:29 AM@CollectionBuilder
и @KeyValueCollectionBuilder
.
Можно проаннотировать существующие в стандартной библиотеке билдеры вроде arrayOf,р listOf, mapOf, etc.
Примеры :
fun <T> List<T>.contains(elements: List<T>) = containsAll(elements)
val list = listOf(1, 2, 3)
list.contains([1, 2])
[2, 3] in list
class Person {
lateinit var friends: List<Person>
lateinit var grades: Map<String, Int>
}
val alice = Person()
alice.friends = [bob, charlie]
alice.grades = [
"math" : 92,
"history" : 89,
"lang" : 97
]
snrostov
11/01/2017, 12:07 PMumar
11/01/2017, 12:54 PM