One of Kotlin most prominent feature above Java is it’s null-safety feature. However, there’s a simple way that make it null, and the code still executable.
Don’t believe? Try the below code.
@Test
fun forceNull() {
val nullBody = """{ "nonNull" : null}"""
val nullNonNull = Gson().fromJson(nullBody, MyData::class.java)
System.out.println(nullNonNull)
}
data class MyData (val nonNullString :String)
It’s also a possible pitfall in actual development environment, as some JSON result could be null, then we’ll get null in our non-null data class variable.
So be careful when you deserialize your JSON. Hopes you watch out this pitfall, and may Kotlin or Gson have a way to deal with this better.
Click “❤” below to share. Thanks! ~Twitter:elye; Facebook:elye