С момента последнего обновления Android Studio выдает следующее предупреждение:
Ожидаемый тип не принимает нулевые значения в Kotlin, но значение может быть нулевым в Java
Это предупреждение появляется при следующем урезанном коде:
data class Person(
@SerializedName("surname")
surname : String
) {
constructor(parcel: Parcel) : this(
parcel.readString()
)
//Parceable implementation
}
Есть способ исправить это и скрыть это предупреждение:
Сначала необходимо сделать тип значения обнуляемым, что означает изменение String на String? .
Во-вторых, readString всегда возвращает ненулевое значение - readString () !!
У меня вопрос, какой подход лучше. Возможно ли, что readString вернет ноль, если значение не может быть обнуляемым?