Ответ
Platform Type в Kotlin — это тип, который может быть как nullable, так и non-null, и его nullability неизвестна на этапе компиляции. Он возникает при взаимодействии с Java-кодом, где аннотации @Nullable/@NonNull отсутствуют. Обозначается T! (например, String!).
Пример:
// Java-метод
public String getUserName() { ... }
// Kotlin вызов
val name: String? = getUserName() // явно nullable
val name2: String = getUserName() // non-null (риск NPE)
Важно:
- Без явного указания типа (
String?/String) компилятор предупредит о неоднозначности. - Всегда аннотируйте Java-код (
@Nullable/@NonNull), чтобы избежать Platform Type.