Bernhard
01/11/2019, 3:57 PMlistOfObjects
.filter { it.field != null }
.map { it.field.method() }
Tsvetozar Bonev
01/11/2019, 3:58 PMBernhard
01/11/2019, 3:58 PMBernhard
01/11/2019, 3:59 PMBernhard
01/11/2019, 3:59 PMBernhard
01/11/2019, 4:00 PMBernhard
01/11/2019, 4:00 PMlistOfObjects
.filter { it.field != null }
.map { if (it.field.method()) it.nonNullField else it.otherNonNullField }
Tsvetozar Bonev
01/11/2019, 4:01 PMTsvetozar Bonev
01/11/2019, 4:01 PMBernhard
01/11/2019, 4:01 PMBernhard
01/11/2019, 4:01 PMBernhard
01/11/2019, 4:02 PMBernhard
01/11/2019, 4:02 PMhudsonb
01/11/2019, 4:02 PMBernhard
01/11/2019, 4:03 PMPavlo Liapota
01/11/2019, 4:03 PMlistOfObjects
.mapNotNull { it.field }
.map { it.method() }
hudsonb
01/11/2019, 4:04 PMhudsonb
01/11/2019, 4:06 PM!!
, but this seems like a legit use of itBernhard
01/11/2019, 4:07 PMhudsonb
01/11/2019, 4:08 PMPair
but sounds like youve done that. I prefer !! tbhBernhard
01/11/2019, 4:08 PMhudsonb
01/11/2019, 4:09 PMhudsonb
01/11/2019, 4:09 PMBernhard
01/11/2019, 4:11 PMdata class Struct(val value: String?)
fun main(args: Array<String>) {
val s = Struct("hi")
if (s.value != null)
println(s.value.length)
}
Bernhard
01/11/2019, 4:15 PMOleg Yukhnevich
01/11/2019, 4:55 PMlistOfObjects.mapNotNull { it.field?.let { field -> if (field.method()) it.nonNullField else it.otherNonNullField } }
Bernhard
01/11/2019, 4:56 PMBernhard
01/11/2019, 4:57 PMBernhard
01/11/2019, 4:57 PMBernhard
01/11/2019, 4:58 PMPavlo Liapota
01/11/2019, 5:08 PMfilterNotNull
does not need a contract as it returns not nullable collection.Bernhard
01/11/2019, 5:40 PMgildor
01/13/2019, 1:41 AM.mapNotNull { it.field?.method() }