Если доступ к неинициализированному свойству lateinit осуществляется из Java, является ли он пустым? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть lateinit свойство в моем классе.Этот класс представляет собой модель ORM, которая сохраняется в SQLite через сгенерированный кодом слой чтения-записи в Java.

Вот выдержка из сгенерированного кода, который сохраняет рассматриваемый объект.MessageDirection является enum.

String refmsgDirection = model.msgDirection != null ? model.msgDirection.name() : null;
values.put("`msgDirection`", refmsgDirection != null ? refmsgDirection : null);

При выполнении этого кода я получил следующий отчет о сбое:

Исключение android.database.sqlite.SQLiteConstraintException: НЕСбой ограничения NULL : Match.msgDirection (код 1299)

Свойство записано как

@NotNull lateinit var msgDirection: MessageDirection

, что заставляет меня сильно подозревать, что к нему обращались как null из Java без немедленного исключения.Это предположение верно?

...