armaxis
01/17/2020, 3:33 PMval nullableList: List<String>? = listOf()
val nonNullableList: List<String> = nullableList as List<String>
Paul Woitaschek
01/17/2020, 3:51 PMPaul Woitaschek
01/17/2020, 3:52 PMAlowaniak
01/17/2020, 3:54 PMPaul Woitaschek
01/17/2020, 3:55 PMPaul Woitaschek
01/17/2020, 3:55 PMList<String?>
to a List<String>
Alowaniak
01/17/2020, 3:56 PMval x: List<String?> = listOf()
val y: List<String> = x as List<String>
Paul Woitaschek
01/17/2020, 3:56 PMPaul Woitaschek
01/17/2020, 3:56 PMPaul Woitaschek
01/17/2020, 3:56 PMPaul Woitaschek
01/17/2020, 3:57 PMPaul Woitaschek
01/17/2020, 3:57 PMfun main() {
val intList = mutableListOf<Int>()
intList.add(1)
(intList as MutableList<String>).add("hello")
println(intList)
}
Paul Woitaschek
01/17/2020, 3:57 PM[1, hello]
🧌armaxis
01/17/2020, 3:57 PMList
. Cast in general is unsage:
val string: String? = "ha"
val nonNullString: String = string as String
Paul Woitaschek
01/17/2020, 3:58 PMarmaxis
01/17/2020, 3:59 PM!!
then I’d rather prefer having as!!
operatorAlowaniak
01/17/2020, 4:00 PMas?
to do a "safe" castAlowaniak
01/17/2020, 4:00 PMPaul Woitaschek
01/17/2020, 4:00 PMas!!
?armaxis
01/17/2020, 4:01 PMval list = payload.data?.items as List<Items>
and null-safety got lost here.Paul Woitaschek
01/17/2020, 4:03 PMKotlin | Probable bugs | Implicit (unsafe) cast from dynamic type
Alowaniak
01/17/2020, 4:03 PMas!!
then the code probably would've been written as val list = payload.data?.items as!! List<Items>
...armaxis
01/17/2020, 4:05 PMKotlin | Probable bugs | Implicit (unsafe) cast from dynamic type
didn’t complain in this:
val string: String? = "ja"
val nuString: String = string as String
Ben Madore
01/17/2020, 5:33 PMstring
is not null at that point in the program?Ben Madore
01/17/2020, 5:33 PM"ja"
you use null
armaxis
01/17/2020, 8:22 PMlouiscad
01/18/2020, 6:09 PM