Я пытаюсь ввести Котлина в свой текущий проект. Я решил начать с сущностей, которые, похоже, идеально подходят для классов данных. Например, у меня есть класс данных:
data class Video(val id: Long, val ownerId: Long, val title: String, val description: String? = null,
val imgLink: String? = null, val created: Date? = null, val accessKey: String? = null,
val views: Long? = null, val comments: Long? = null, val videoLink: String? = null): Entity
Что реализует интерфейс Java:
public interface Entity {
Long getId();
}
Но по какой-то причине компилятор не понимает, что этот метод уже реализован:
Класс "Видео" должен быть объявлен абстрактным или реализовать абстрактный элемент public abstract fun getId(): kotlin.Long! определяется в net.alfad.data.Entity
Должен ли я использовать любые дополнительные ключевые слова для id param? Что значит "!" означает в подписи?